Scrapyd没有在启动时启动 - Ubuntu 14

时间:2017-03-30 11:03:31

标签: linux ubuntu

我在服务器上安装了Scrapyd

我想让它在我的服务器重新启动时启动。

我在这里/etc/init/myjob.conf创建了以下内容

description     "my job"
start on startup
task
cd /var/www/scrapers &&  scrapyd >& /dev/null &

我还尝试在crontab -e

中添加以下命令

@reboot cd /var/www/scrapers && scrapyd >& /dev/null &

他们两个都没有用。

我使用grep CRON /var/log/syslog检查了cronlogs,在这里我看到命令已经运行但是Scrapyd没有启动

Mar 30 13:33:28 mani CRON[446]: (root) CMD (cd /var/www/scrapers && scrapyd >& /dev/null &)

如您所见,该命令以ROOT用户身份运行。

如果我在终端中手动运行该命令,它可以工作!

PS:

我将命令改为

@reboot cd /var/www/scrapers && scrapyd >> /var/www/log.txt

并创建了日志文件,但它是空的!

2 个答案:

答案 0 :(得分:0)

您必须尝试手动启动流程,看看会发生什么。这一行:

cd /var/www/scrapers &&  scrapyd

有意义如果:1)目录/ var / www / scrapers确实存在2)scrapyd是存在于该目录中的二进制文件,PATH环境变量包括实际目录(“。”通配符)。

也许你可以试试:

cd /var/www/scrapers &&  ./scrapyd

没有重定向标准输出到/ dev / null,看看会发生什么。在使用cron之前一定要尝试手册。

答案 1 :(得分:0)

我无法通过 /etc/rc.local crontab 抓紧工作,所以找到了解决方法。我相信会有更好的方法,但就此而言,这对我有用。

我创建了一个python文件start.py

import os

os.system('/usr/bin/python3 /home/ubuntu/.local/bin/scrapyd > /home/ubuntu/scrapy.log &')

只需通过crontab调用python文件start.py

通过cronat -e将其添加到crintab文件中。

@reboot /usr/bin/python3 /home/ubuntu/start.py

基本上,我所做的是通过crontab调用python filr来通过外壳执行scrapy。