我有一个bash脚本需要每天晚上9:30执行。它被称为fetchIND.sh,我在我的选项卡中为其指定了shell和路径参数,如下所示。它应该使用sftp从另一台服务器上获取文件,并且手动工作得很好。但是,用crontab是不执行的。
我的crontab条目:
06 21 * * * root / usr / bin / bash /root/IND/fetchIND.sh
'ps aux |后的结果grep bash'命令:
root 5815 0.0 0.0 8984 808 pts / 0 S + 21:06 0:00 grep --color = auto bash
但是,我的脚本实际上并没有执行。对此有任何帮助都会很棒。谢谢!
答案 0 :(得分:0)
cron可能试图在cron shell中运行它,而cron shell可能没有在root shell中运行命令的权限。
添加sudo可能会起作用。有关更多https://superuser.com/a/1046126
的信息,请参阅此处答案 1 :(得分:0)
(编辑了一个检查语法的建议 - 这似乎对CentOS有效。留下其他建议,补充细节。 - 抱歉,我没有足够的业力发表评论,呵呵)
您的脚本可能依赖于cron守护程序调用时的不同内容:您可能在shell中更改过的环境变量,访问tty等等。
您可以通过附加重定向来调试它:
06 21 * * * root /usr/bin/bash /root/IND/fetchIND.sh 2>&1 >> /tmp/trace_when_running_from_crontab.log