sshpass 和 sftp 无法在 crontab 中工作?

sshpass 和 sftp 无法在 crontab 中工作?

我有一个 ssh 脚本(用于测试目的),可以从 cmd 成功运行:

#!/bin/bash

/usr/bin/sshpass -p 'password' /usr/bin/sftp user@host:/out/test/ <<< $'put -r /data/test/*'

A./script.sh运行得非常好,并将所有文件上传到远程。

但是当我从 调用 script.sh 时crontab,什么也没有发生。为什么?

答案1

我可以让它工作如下:

/usr/bin/lftp sftp://user:pass@host -e "set sftp:auto-confirm yes; 
    set net:timeout 10; set net:max-retries 3; mirror -R --max-errors=1 --verbose=1 
   /local/test /remote/test; quit;"

这会将内部的所有文件同步/local/test/到远程 sftp 文件夹。

相关内容