Появилась задача по расписанию бекапить некоторый файлы на 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