【发布时间】:2018-10-22 17:42:22
【问题描述】:
在crontab中设置这个任务,为什么不是每分钟都运行一次?
$ crontab -e
* * * * * cd /my/project/source/path && bundle exec rake publisher:publish --silent
但是从终端运行它会起作用:
$ cd /my/project/source/path && bundle exec rake publisher:publish --silent
【问题讨论】:
-
当心
PATH环境变量。通常最好将完整路径写入可执行文件,在这种情况下写入bundle。 -
如果它在终端中工作,但在 crontab 中没有,通常是权限问题。如需进一步调查,您可以查看日志:
grep CRON /var/log/syslog。如果你看不到 cron 日志,你可以在你的命令之后明确地在 crontab 中添加:>> /somewhere/the/crontab/user/can/write/to/log.txt 2>&1即:* * * * * cd /my/project/source/path && bundle exec rake publisher:publish --silent >> /somewhere/the/crontab/user/can/write/to/log.txt 2>&1