Bash-скрипт SFTP для подключения к удаленному серверу и загрузки файлов, переход в нужный каталог на локальной машине

Bash-скрипт SFTP для подключения к удаленному серверу и загрузки файлов, переход в нужный каталог на локальной машине

На моем сервере Ubuntu есть cron, который ежедневно запускает следующий bash-скрипт:

#!/usr/bin/expect -f
spawn sftp user@ip
expect "password:"
send "password\n"
expect "sftp>"
send "cd remote_directory\n"
expect "sftp>"
send "lcd ~/dtc/data/outstanding\n"
expect "sftp>"
send "mget * \n"
expect "sftp>"
send "exit\n"
interact

Он подключается к удаленному серверу через SFTP и скачивает кучу файлов. Это работает без проблем, однако я хочу, чтобы эти файлы появились в определенном каталоге на машине (моем сервере), на которой запущен этот скрипт.

Это то, что я пытаюсь сделать в строке 8, но безуспешно. Как мне запустить этот скрипт через cron и убедиться, что он переходит в нужный каталог на моем сервере, чтобы поместить загруженные файлы в нужный каталог?

решение1

Самое простое решение — перейти cdв каталог, в котором вы хотите сохранить файлы, а затем запустить скрипт expect, исключив lcdкоманду из скрипта в строке 8.

Связанный контент