我有一个 ruby 脚本~/custom_scripts/get_all_products.rb
。
我希望它每天晚上 04:00 运行。
cronjob 如下所示crontab -e
:
MAILTO="<email>"
0 4 * * * ruby ~/custom_scripts/get_all_products.rb
但它没有执行。
下一步我应该尝试什么?
答案1
我以前在 crontabs 中使用波浪符号扩展时遇到过问题(这可能是在 Linux 以外的 Unix 版本上)。不过,我建议使用$HOME
而不是~
。
另外,最好指定ruby
可执行文件的完整路径。cronPATH
使用的通常不是您在交互式环境中设置的路径(例如,在我的系统上,cronPATH
只是/usr/bin:/bin
)。
答案2
我认为您可能需要解决两个问题:
- ~ 是 Shell 中的 的同义词
$HOME
。您应该在 cron 之类的程序中使用它 $HOME
可能未正确设置您的命令。crontab -e
默认情况下正在编辑 root 的 crontab。不是您的用户之一。只需将 ~ 替换$HOME
为绝对路径。