я написал нечто подобное здесь < / а>
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
инструкции:
- Введите свое настоящее имя пользователя
- Введите свой реальный пароль
- Зашифруйте свой закрытый ключ
- Подтвердите пароль закрытый ключ
- Последний вход с тем же закрытым ключом
Пример:
- Sazzad (Имя пользователя)
- Sazzad (Настоящий пароль)
P @ $$ w0rd (пароль_to_encrypt (закрытый ключ))
P @ $$ w0rd тот же пароль_to_encrypt (закрытый ключ)
P @ $$ w0rd тот же пароль_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/
person
auth private
schedule
08.06.2015
heredoc
вам помочь ... - person anishsane   schedule 08.06.2015