Появилась задача по расписанию бекапить некоторый файлы на sftp.
Вот скрипт который наваял для этого.
Из конмдной строки выполняем:
#./sftp-backup /root/file.tgz
Вот скрипт который наваял для этого.
#!/usr/bin/expect
set timeout -1
set HOST "1.1.1.1"
set PORT "22"
set USER "user"
set PASS "PsAsSwOrD"
set FILENAME [lindex $argv 0]
spawn sftp -o "BatchMode no" -oport=$PORT $USER@$HOST:/folder/
expect "password:" { send "$PASS\r" }
expect "sftp> " { send "put $FILENAME\r" }
interact
Из конмдной строки выполняем:
#./sftp-backup /root/file.tgz
для того что бы запускать этот скрипт из crontab вначале нужно задать параметр
ОтветитьУдалитьset timeout -1
и interact заменить на
ОтветитьУдалитьexpect eof