crontab没有运行命令

时间:2014-10-09 04:42:16

标签: linux apple-push-notifications crontab flock

我一直在尝试运行crontab命令,但由于某种原因它没有运行。该命令应该发送推送通知。

我的sudo crontab -e看起来像这样:

 0 0 * * 0 /home/[user]/resetWeeklyLeaderboard
 * * * * * /home/[user]/pushDelivery

我在上面的位置有一个名为pushDelivery的文件,其中包含以下内容:

 /usr/bin/flock -n /home/[user]/PushChatServer/push/lockfile usr/bin/php /home/[user]/PushChatServer/push/push.php development

我还通过chmod + x pushDelivery制作了pushDelivery可执行文件。此代码适用于我的resetWeeklyLeaderboard文件,但不会调用pushDelivery文件。

如果我运行

,它会起作用
 /home/[user]/pushDelivery 

如果我运行

,它会起作用
 /usr/bin/flock -n /home/[user]/PushChatServer/push/lockfile usr/bin/php /home/[user]/PushChatServer/push/push.php development

但是如果在crontab中我做了

 * * * * * /home/[user]/pushDelivery

 * * * * * /usr/bin/flock -n /home/[user]/PushChatServer/push/lockfile usr/bin/php /home/[user]/PushChatServer/push/push.php development

它不起作用。请帮我。谢谢!

更新:

它仍然不起作用,但我尝试了更多的东西。我尝试在crontab中反转顺序

 * * * * * /home/[user]/pushDelivery
 0 0 * * 0 /home/[user]/resetWeeklyLeaderboard

它不起作用。我也试过让我的resetWeeklyLeaderboard代码小心运行

 * * * * * /home/[user]/pushDelivery
 * * * * * /home/[user]/resetWeeklyLeaderboard

这适用于我的resetWeeklyLeaderboard代码,但不适用于我的pushDelivery代码。这对我来说意味着我的pushDelivery代码中存在导致问题的原因。但是我从命令行运行/ home / [user] / pushDelivery并且它可以工作。可能导致这个问题的原因是什么?

2 个答案:

答案 0 :(得分:0)

我不知道为什么没有跑,但是在那个时候发生了同样的事情 * * * * * / home / [user] / pushDelivery
试试这个 * / 1 * * * * / home / [user] / pushDelivery
它以这种方式为我工作......(每一分钟都有任务)

答案 1 :(得分:0)

我解决了这个问题。在我的pushDelivery文件中,我应该写:

/usr/bin/flock -n /home/[user]/PushChatServer/push/lockfile /usr/bin/php /home/[user]/PushChatServer/push/push.php development

而我写的是:

/usr/bin/flock -n /home/[user]/PushChatServer/push/lockfile usr/bin/php /home/[user]/PushChatServer/push/push.php development

" /"在" usr / bin / php"之前完全不同。不知何故,斜杠将允许它在crontab之外工作,但在crontab中运行时会失败。我不明白为什么,但这是正确的解决方案。