Crontab不会执行我手动执行的脚本

时间:2017-04-01 15:47:11

标签: bash unix crontab

我有一个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

但是,我的脚本实际上并没有执行。对此有任何帮助都会很棒。谢谢!

2 个答案:

答案 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