我有一个 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 文件夹。