我正在尝试创建一个cronjob,我跟踪了多个教程并搜索了Stackoverflow,但我认为我犯了一个错误,因为它不起作用。
在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 demon具有访问权限。
此外,在Ubuntu上编辑cronjobs的首选方法是运行crontab -e

07-26 04:19