sftp 脚本未在 crontab 中运行

sftp 脚本未在 crontab 中运行

我必须使用 sftp 从另一台服务器获取文件。

我创建了一个脚本,它将 cd 到我的目录并执行 sftp 命令。由于不允许我将 rsa 密钥添加到外部服务器,因此我使用 sshpass 来处理这种情况。如果我在会话中运行该脚本,它会正常工作(但会在屏幕上打印每个 sftp 命令的内容)。如果我尝试执行 va crontab ,则不会执行 sftp 命令,但会执行脚本中的所有其他内容。

set -o nounset                              # Treat unset variables as an error

umask 000
cd /path/to/dir
export SSHPASS='securepass'
sshpass -e sftp -oBatchMode=no -b - -P9999 [email protected]: << !
 cd REMOTEDIR
 get *
 rm *
 bye
!

# processing the files part

答案1

我猜测您使用与在 shell 中使用的帐户不同的帐户来运行 cron 作业。

这可能sftp由于多种原因而失败。其中之一是运行 cron 作业的帐户在 中没有主机密钥known_hosts

相关内容