【问题标题】:Crontab not run as scheduled time [closed]Crontab 未按计划时间运行 [关闭]
【发布时间】: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

标签: linux shell cron


【解决方案1】:

改为尝试: /my/project/source/path/bundle exec rake publisher:publish --silent

或者:

"* * * * * * bash -c 'cd /my/project/source/path && bundle exec rake publisher:publish --silent'"

这样你将命令作为参数传递给 bash...

【讨论】:

  • 谢谢。但它不起作用。
  • 感谢我修复它的信息。
  • bash -c 也不起作用。
  • 不起作用是什么意思?命令未执行或未按预期执行? Crontab 用户是否与您要使用“bundle exec rake”执行的“Gemfile”所有者相同?您可以尝试将输出传递给文本文件以获取失败原因的信息。 “* * * * * * bash -c 'cd /my/project/source/path && bundle exec rake publisher:publish > logfile.txt'”另见“Yoirc”评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多