参见英文答案 >
Why is my crontab not working,and how can I troubleshoot it?5个
这是我的crontab文件的内容:
这是我的crontab文件的内容:
0 0,6,12,18 * * * cd /var/www/app/current && backup perform --trigger db_backup --config_file config/backup.rb --data-path db --log-path log --tmp-path tmp >> /var/www/app/current/log/cron.log 2>&1 0 3 * * * cd /var/www/app/current && RAILS_ENV=production bundle exec rake runs:populate --silent >> /var/www/app/current/log/cron.log 2>&1 59 23 * * * cd /var/www/app/current && RAILS_ENV=production bundle exec rake runs:log --silent >> /var/www/app/current/log/cron.log 2>&1
如果我作为crontab的所有者手动运行其中任何一个,它们工作正常,但cron.log文件只包含:
/bin/sh: bundle: not found /bin/sh: backup: not found /bin/sh: bundle: not found
我尝试在下面包装每个(默认情况下我用来管理我的cron文件的whenever gem)bash -l -c’…’然后我得到与上面相同的除了bash bash:bundle:没有找到指令
CRON作业的deafult PATH通常是/usr/bin:/ bin.您的命令捆绑和备份可能不在默认路径中.一种解决方案是更改crontab并包含这些命令的完整路径.
原文链接:https://www.f2er.com/ubuntu/348795.html0 0,18 * * * cd /var/www/app/current && /path/to/backup ...
一般来说,在crontabs中使用完整路径是个好主意.
如果需要,还可以在crontab中指定PTH
PATH=/bin:/usr/bin:/path/to/your/program 0 0,18 * * * cd /var/www/app/current && backup ...