我正在尝试创建一个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
有人知道它为什么不起作用或我在哪里可以找到出错的地方?
谢谢
答案 0 :(得分:1)
您需要包含绝对路径,而不是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