я написал что-то подобное here
ftp_server='localhost'
ftp_username='********'
ftp_password='***********'
mkdir /home/user/linux/source_folder
source_folder="/home/user/linux/source_folder/"
cp -avr config* $source_folder
dest_folder="/home/user/linux/linux2/"
ftp -i -n $ftp_server <<END_SCRIPT
quote USER $ftp_username
quote PASS $ftp_password
cd $source_folder
!cd $dest_folder
mget -R *
quit
END_SCRIPT
(Примечание: вы должны mkdir
, потому что FTP не поддерживает несколько копий файлов из источника в папку назначения, так что вы должны использовать MGET с опцией -r для нескольких файлов, расположенный в новом созданном каталоге, затем скопируйте ваши файлы конфигурации в этот новый созданный каталог с помощью cp -avr config* $source_folder
).
это еще один более усиливается сценарий, что никто не может увидеть ваш сохраненный пароль, предоставляемого шифрованию OpenSSL, дешифрование с помощью клавиш пары.
#!/bin/bash
read -p "Enter Username: " Username
read -sp "Enter Username Password: " Password
echo
ftp_server="localhost"
ftp_username="$Username"
ftp_password="$Password"
passwrd=`echo $ftp_password | openssl aes-256-cbc -a -salt`
decrypt=`echo $passwrd | openssl aes-256-cbc -a -d -salt`
mkdir /home/username/linux/source_folder
source_folder="/home/username/source_folder/"
cp -avr config* $source_folder
dest_folder="/home/username/linux/dest_folder/"
ftp -in $ftp_server <<END_SCRIPT
quote USER $ftp_username
quote PASS $decrypt
cd $source_folder
!cd $dest_folder
mget -R *
quit
END_SCRIPT
инструкции:
- Введите Ваш Real Имя пользователя
- Введите Ваш Real Пароль
- зашифровать частный ключ
- Подтверждение пароля закрытого ключа
- Последний вход в систему с s AME закрытый ключ
Пример:
- Sazzad (Имя пользователя)
- Sazzad (Real Password)
P @ $$ w0rd (password_to_encrypt (закрытый ключ))
P @ $$ w0rd same password_to_encrypt (закрытый ключ)
P @ $$ w0rd же password_to_decrypt (секретный ключ)
Примечание:
вы можете удалить эти строки, если вы не хотите, пары ключей шифрования с подключением OpenSSL
passwrd = echo $ftp_password | openssl aes-256-cbc -a -salt
расшифровывать = echo $passwrd | openssl aes-256-cbc -a -d -salt
и изменить quote PASS $decrypt
к quote PASS $ftp_password
Альтернатива: просто кладете Username
и Password
и Server Ip
Как 172.19.254.61
#!/bin/bash
read -p "Enter Username: " Username
read -sp "Enter Username Password: " Password
echo
read -p "FTP Server IP: " ftp_server
ftp_username=$Username
ftp_password=$Password
source_folder="/home/rr-de-nms-1/Sazzad/source_folder/"
cp -avr /home/rr-de-nms-1/Sazzad/config* $source_folder
dest_folder="/home/rr-de-nms-1/Sazzad/dest_folder/"
ftp -in $ftp_server <<END_SCRIPT
quote USER $ftp_username
quote PASS $decrypt
cd $source_folder
!cd $dest_folder
mget -R *
quit
END_SCRIPT
Теперь Ваша Конфигурационные файлы скачать здесь в /home/rr-de-nms-1/Sazzad/dest_folder/
Смотрите, если ' heredoc' может помочь вам ... – anishsane