На этот вопрос уже есть ответ здесь:
I У меня проблемы с работой 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, но на этот раз я, кажется, получил в нем ошибку ...
Спасибо за все ваши советы!
/ bin / sh
(или / usr / bin /?)
/ usr / bin / scrapy
( или где бы он ни был, вы можете использовать which scrapy
, чтобы найти двоичный файл)
и, что наиболее важно, добавить путь скрипта для файла aspider.py для использования scrapy, я думаю, это может быть / scripts / aspider.py
?
Сначала я предполагаю, что cron работает, находит sh, который находит scrapy, который не находит файл py.
* / 5 * * * * / bin / sh /scripts/runmyspider.sh >> /scripts/spider.log 2> & 1