【发布时间】:2014-12-03 21:56:30
【问题描述】:
我一直在尝试运行 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 并且它可以工作。什么可能导致这个问题?
【问题讨论】:
-
当你运行
env -i /home/[user]/pushDelivery时会发生什么? -
我收到错误
/usr/bin/flock: usr/bin/php: No such file or directory当我运行env -i /home/miguel/resetWeeklyLeaderboard时,我没有收到任何错误。 -
没关系。当我从 /home/[user] 目录运行
env -i /home/[user]/pushDelivery时,我只会得到/usr/bin/flock: usr/bin/php: No such file or directory。如果我 cd ../ 到顶部并从那里运行,则没有错误。奇怪的是,如果我运行env -i /home/miguel/resetWeeklyLeaderboard,我将成为[trueuser],而当我运行env -i /home/miguel/pushDelivery时,我仍然是[user]。
标签: linux apple-push-notifications crontab flock