Назад | Перейти на главную страницу

как правильно запустить сканирование scrapy из cron

Как мне запустить такую ​​команду, как scrapy crawl empt.com в cron задание, где мне нужно находиться в определенной папке, чтобы запустить команду, например:

/downloads/my_crawler/empt/empt/ тогда команда scrapy crawl empt.com

Мой нынешний crontab запись выглядит так: 0 */2 * * * * root /downloads/my_cralwer/empt/empt/ scrapy crawl empt.com Спасибо!

Добавление следующих строк в crontab -e каждый день в 5 утра запускает мой скрап-обход. Это немного измененная версия ответа Crocs

PATH=/usr/bin
* 5 * * * cd project_folder/project_name/ && scrapy crawl spider_name

Без настройки PATH, cron выдает ошибку "command not found: scrapy". Я думаю, это потому, что /usr/bin здесь в Ubuntu хранятся скрипты для запуска программ.

Обратите внимание, что полный путь для моего проекта scrapy: /home/user/project_folder/project_name/. Я запустил env в cron и заметил, что pwd /home/user. Поэтому я пропустил /home/user/ в crontab выше

Журнал cron может быть полезен при отладке

grep CRON /var/log/syslog

Пытаться:

0 */2 * * * * root cd /downloads/my_cralwer/empt/empt/ && scrapy crawl empt.com

Я знаю, что это старый пост, но чтобы мой заработал, мне также нужно было добавить переменную пути. В противном случае cron не сможет найти scrapy. Для меня это было: PATH=/usr/local/bin Просто найдите двоичный файл scrapy и добавьте переменную пути в место перед заданием cron в файле. Я обычно использую crontab -e для редактирования списка cronjob. Но такие утилиты, как webmin, тоже могут это делать.