Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux crontab未运行命令_Linux_Apple Push Notifications_Crontab_Flock - Fatal编程技术网

Linux crontab未运行命令

Linux crontab未运行命令,linux,apple-push-notifications,crontab,flock,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 u

我一直在尝试运行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+xpushdelivery使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

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

更新:

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

 * * * * * /home/[user]/pushDelivery
 0 0 * * 0 /home/[user]/resetWeeklyLeaderboard
它不起作用。我还试着让我的resetWeeklyLeaderboard代码每分钟运行一次

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

这适用于我的resetWeeklyLeaderboard代码,但不适用于我的pushDelivery代码。这对我来说意味着是我的pushDelivery代码中的某些东西导致了这个问题。但是,我从命令行运行/home/[user]/pushDelivery,它就可以工作了。是什么导致了这个问题?

我不知道为什么is没有运行,但同样的事情发生在我身上,而不是在做
****/home/[user]/pushDelivery
试试这个
*/1****/home/[user]/pushDelivery

它以这种方式为我工作…(任务每分钟都在运行)

我解决了这个问题。在我的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内部运行时会失败。我不明白为什么,但这是正确的解决方案。

我刚刚尝试了这个,但不幸的是,它对我无效(运行
env-i/home/[user]时会发生什么情况)/pushDelivery
?当我运行
env-I/home/miguel/resetWeekleyReaderBoard时,我得到错误
/usr/bin/flock:usr/bin/php:没有这样的文件或目录
,我没有得到任何错误。无需担心。当我运行
env-I/home/[user]时,我只得到
/usr/bin/flock:usr/bin/php:没有这样的文件或目录
/从/home/[user]目录下推送
。如果我将../刻录到顶部并从那里运行,则不会出现错误。奇怪的是,如果我运行
env-I/home/miguel/resetWeekleyLeaderBoard
我将成为[trueuser],就像运行
env-I/home/miguel/pushDelivery时一样。
/usr/bin/flock -n /home/[user]/PushChatServer/push/lockfile usr/bin/php /home/[user]/PushChatServer/push/push.php development