Crontab没有运行某段bash / sh脚本

时间:2015-02-26 19:02:27

标签: linux bash shell

基本上,每组都说"如果这个VM存在且用户管理员'正在运行脚本,然后执行这些脚本集#34;。当我手动运行脚本时,我没有任何问题。当它通过crontab执行时,它不会一直完成。当我注释掉这个特定部分时,crontab会按原样通过。

如果我手动运行脚本为sh或bash,它会很好地完成。

if ( [ "$HNAME" = "VM61" ] && [ "$UNAME" = "admin" ] ) || ([ "$HNAME"= "VM62" ] && [ "$UNAME" = "admin" ] )  || ( [ "$HNAME" = "VM7" ] && [ "$UNAME" = "admin" ] ) ;

我认为这是因为有限的bash没有认识到我将每对组合在一起的方式。有人可以协助我如何分组,以便bash仍然能识别这个功能吗?

1 个答案:

答案 0 :(得分:0)

我能够让cron成功运行。我遇到的问题是实际的crontab本身。

我设定为:

45 23 * * 0-6 ~/crons/clearLogs.sh >> ~/crons/logs/clearLogs.log

我附加到结尾以输出到日志文件(显示已删除的文件)无法正常工作。当我从crontab中删除这一行时,脚本运行得很好。

我不确定为什么会出现这种情况,因为我已经获得了与脚本一部分完全相同的输出,但那是另一个问题。