2016-07-18 3 views
0

Я новичок в использовании crontab, я просто попытаюсь прочитать статью о том, как автоматически планировать сканирование с помощью scrapy каждые 5 минут, а в какой-то статье предлагается использовать crontab ... , но я не знаю, как реализовать правильный сценарий ...планирование сканирования с помощью scrapy с crontab

здесь мой .sh файл

#!/bin/sh 
cd /home/kautsar/Downloads/thehack 
scrapy crawl thehack 

я уже + х в файл runScrapy.sh

, но когда я пытаюсь с помощью

crontab -e 
*/5**** cd /home/kautsar && sh runScrapy.sh 

тогда, когда я нажимаю кнопку ввода, результат «?» Кто-нибудь знает, что это значит? можете ли вы объяснить это? , пожалуйста, покажите мне правильный способ, чтобы периодически сканировать паутину, какое время задано мной .. спасибо alot

+0

Убедитесь, что у вас есть пробелы между звездами '*/5 * * * *' – xxfelixxx

+0

stil same, i try "*/5 * * * * cd/home/kautsar && sh runScrapy.sh" Результат - ?» – beboy

+0

Почему бы просто не использовать полный путь к файлу '/ home/kautsar/runScrapy.sh' – xxfelixxx

ответ

1

Я подозреваю, что ваш редактор по умолчанию установлен в ed. Не знаю, почему. Если это так, вы можете прочитать о том, как использовать команду man ed, но, вероятно, лучше настроить систему на использование вашего любимого редактора. Предположим, что это vim. Если это не так, замените vim на соответствующее имя.

export EDITOR=vim 
crontab -e 

На данный момент, вы должны быть в вашем любимом редакторе редактирования файла crontab. Я рекомендую вам добавить комментарий к файлу, подобному приведенному ниже. Я всегда делаю это, чтобы напомнить себе, что все столбцы для разных звездочек. DoM - День месяца (1-31), DoW - День недели (0-7 или Солнце/Пн/Вт и т. Д.). Тогда ваш сценарий оболочки как полное имя файла (поэтому вам не нужно иметь cd и вызов скрипта).

# min hr DoM mon DoW cmd 
    */5 * * * * sh /home/kautsar/runScrapy.sh 

На данный момент вы должны иметь возможность сохранять и выходить, как вы бы использовали ваш редактор.

Другие подводные камни ждут вас в файле crontab. Прочтите man 5 crontab и обратите особое внимание на определения PATH и HOME. cron работает в сокращенной среде, а не в среде входа в систему, поэтому иногда необходимо установить переменную PATH. Вы можете счесть полезным, что $ HOME установлен в ваш домашний каталог. Например, ваша команда может быть $HOME/runScrapy.sh. Наконец, вы можете установить MAILTO как адрес, на который cron отправляет любой вывод команды, что может быть полезно, если исходящая электронная почта не настроена в вашей системе.

Смежные вопросы