Bash 脚本 SFTP 到远程服务器并下载文件,cd 到本地计算机上的正确目录

Bash 脚本 SFTP 到远程服务器并下载文件,cd 到本地计算机上的正确目录

我的 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 运行此脚本,并确保它 cd 到我的服务器上的正确目录中,以便将下载的文件放入正确的目录中?

答案1

最简单的解决方案是cd进入要保存文件的目录,然后运行 ​​Expect 脚本,省略lcd第 8 行脚本中的命令。

相关内容