我正在尝试创建一个 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 恶魔可以访问。
此外,在 Ubuntu 上编辑 cronjobs 的首选方法是运行 crontab -e
关于linux - 让 cronjob 在 Ubuntu 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41005011/