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

Не удалось заставить cronjob работать

У меня проблемы с работой cronjob в ubuntu 16.04 digital ocean.

Я запрограммировал паука-питона, которого хочу запускать каждые 5 минут. Чтобы запустить этого паука, я сделал скрипт runmyspider.sh (chmod + x) с командой:

scrapy runspider aspider.py

Теперь я хочу вызвать этот скрипт через Cron.

*/5 * * * * sh /scripts/runmyspider.sh 2>&1 /scripts/spider.log

Однако паук никогда не запускается (я вижу, что никаких изменений в базе данных не было, если я запустил файл вручную, изменения произойдут)

Что я здесь делаю не так? Раньше я уже несколько раз настраивал cron, но на этот раз я, кажется, получил в нем ошибку ...

Спасибо за все ваши советы!

  1. Всегда используйте абсолютные пути, чтобы избежать проблем.

/bin/sh (или / usr / bin /?)

/usr/bin/scrapy (или где бы он ни был, вы можете использовать which scrapy чтобы найти двоичный файл)

и, самое главное, добавьте путь к скрипту для файла aspider.py для использования scrapy, я думаю, это может быть /scripts/aspider.py ?

Сначала я предполагаю, что cron работает, находит sh, который находит scrapy, который не находит файл py.

  1. Не перезаписывайте лог-файл, добавьте в него:

*/5 * * * * /bin/sh /scripts/runmyspider.sh >> /scripts/spider.log 2>&1