让 cronjob 在 Ubuntu 中工作

Getting cronjob to work in Ubuntu

我正在尝试创建一个 cronjob,我遵循了多个教程并搜索了 Whosebug,但我认为我犯了一个错误,因为它不起作用。

在 Ubuntu 14 下,这是在我的用户帐户 Cronjob 文件中

* 16 * * * cd work/homefolder/homefolder && scrapy crawl scrape1

使用:

grep CRON /var/log/syslog

我可以看到 cron 作业是 运行 但它不执行命令。我也 看不出是什么问题。

只需在终端中输入即可

cd
cd work/homefolder/homefolder && scrapy crawl scrape1

文件夹的完整路径是

/home/NAMEOFUSER/work/homefolder/homefolder

有人知道它为什么不起作用或者我在哪里可以找到问题所在吗?

谢谢

您需要在 cronjob 文件中包含绝对路径,而不是相对路径。

尝试* 16 * * * cd /home/NAMEOFUSER/work/homefolder/homefolder && scrapy crawl scrape1

但我宁愿准备好一个脚本来为您完成工作(包括更改目录)并直接调用它:

* 16 * * * /home/NAMEOFUSER/work/homefolder/homefolder/scrape.sh

scrape.sh 的内容可能如下所示:

!#/bin/sh
cd /home/NAMEOFUSER/work/homefolder/homefolder && scrapy crawl scrape1

确保更新您的权限,以便 cron 恶魔可以访问。

此外,在 Ubuntu 上编辑 cronjobs 的首选方法是 运行 crontab -e