我有计划或多或少像这样的IBM AIX服务器上cron
工作:IBM AIX cron作业不执行
0 6 * * * (date >> ~/executions.log;. ~/.profile; cd /usr/path/to/the/script; /usr/path/to/the/script/ThisIsTheScript.sh) > /dev/null 2>&1
当我安排一个试运行是这样的:
0,37 6 * * * (date >> ~/executions.log;. ~/.profile; cd /usr/path/to/the/script; /usr/path/to/the/script/ThisIsTheScript.sh) > /dev/null 2>&1
...该作业只会运行到它将最后执行日期追加到~/executions.log
的部分。由于这个脚本调用了一个非常大的应用程序 - 我们称之为gargantuanprogram
- 一旦作业触发它应该显示在ps ax | grep gargantuanprogram
上。但它并没有,它甚至不运行ThisIsTheScript.sh
,因为所述脚本在启动时发出电子邮件通知,并且在我的邮箱中我只是获得了nada。
正如你所看到的,是的,我正在加载我的~/profile
,我检查了很多次脚本具有执行权限,并且我绝对确定该行是正确写入的。 crontab
也以换行符结束。那么为什么这个工作没有执行?
经过一个小时的抨击我的头对桌子后,我终于找到原因。原因是什么?......我认为我应该调用没有参数的脚本,比如crontab中的其余脚本,但不行,这一次我不得不用特殊的参数来调用它。这项工作开展得很好,我放的脚手架实际上很好,这是脚本,因为它应该没有被调用。 – RAKK
所以基本上,所学到的教训是始终确保我是否真的应该以这种方式调用脚本。 – RAKK