【问题标题】:Getting cronjob to work in Ubuntu让 cronjob 在 Ubuntu 中工作
【发布时间】:2016-12-06 21:12:38
【问题描述】:

我正在尝试创建一个 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

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

谢谢

【问题讨论】:

标签: linux cron ubuntu-14.04


【解决方案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

【讨论】:

  • 谢谢,我尝试使用您的方法执行python脚本,它可以工作。只有“scrapy crawl scrape1”命令仍然不起作用,所以它可能会崩溃或其他什么,我怎么能找到它发生了什么?感谢您再次提供帮助!
  • 我已更新我的答案以包含 scrape.sh。确保更新您的读取和执行权限,以便 cronjob 可以成功执行。
  • 谢谢,通过添加 'PATH=/usr/local/bin' 来修复它,以便它可以找到 Scrapy
猜你喜欢
  • 1970-01-01
  • 2017-12-06
  • 2017-05-03
  • 1970-01-01
  • 2014-04-17
  • 2017-01-31
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
相关资源
最近更新 更多