Как например сделать чтобы ежедневно в 8 утра скачивался прайс с сайта поставщика, обрабатывался нужными парсерами и заливался в БД сайта?
На линуксе такие задачи решаемы просто, для этого создан планировщик cron, а для управления заданиями крона - есть утилитка crontab
Минимальный список команд
изменить задания для текущего пользователя
изменить задания для пользователя pavel
просмотреть задания текущего пользователя
просмотреть задания пользователя pavel
Синтаксис заданий
При открытии заданий (например crontab -e) открывается текстовый файл в редакторе по умолчанию, у меня например это nano.
Каждое задание пишется с новой строки, синтаксис зааний примерно следующий
{событие(время)} {действие}
События можно писать, например, так:
@reboot Run once, at startup. - при включении компьютера
@yearly Run once a year, "0 0 1 1 *". - каждый год
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *". - каждый месяц
@weekly Run once a week, "0 0 * * 0". - каждую неделю
@daily Run once a day, "0 0 * * *". - каждый день в 00:00
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *". - каждый час
А можно так:
* * * * *
описание полей слева-направо
минуты 0-59
часы 0-23
день месяца 1-31
месяц 1-12 (or names, see below)
день недели 0-7 (0 or 7 is Sun, or use names) 0 - вс, 1 - пн, 2 - вт, 3 - ср, 4 - чт, 5 пт, 6 - сб, 7 - вс.
25 февраля в 5 часов и 02 минут выключить компьютер
Для более подробной справки наберите команду
man 5 crontab
На линуксе такие задачи решаемы просто, для этого создан планировщик cron, а для управления заданиями крона - есть утилитка crontab
Минимальный список команд
изменить задания для текущего пользователя
crontab -e
изменить задания для пользователя pavel
crontab -e -u pavel
просмотреть задания текущего пользователя
crontab -l
просмотреть задания пользователя pavel
crontab -l -u pavel
Синтаксис заданий
При открытии заданий (например crontab -e) открывается текстовый файл в редакторе по умолчанию, у меня например это nano.
Каждое задание пишется с новой строки, синтаксис зааний примерно следующий
События можно писать, например, так:
@reboot Run once, at startup. - при включении компьютера
@yearly Run once a year, "0 0 1 1 *". - каждый год
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *". - каждый месяц
@weekly Run once a week, "0 0 * * 0". - каждую неделю
@daily Run once a day, "0 0 * * *". - каждый день в 00:00
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *". - каждый час
@reboot sh /root/script.sh
при включении компьютера запускать шел-скрипт по указанному адресуА можно так:
* * * * *
описание полей слева-направо
минуты 0-59
часы 0-23
день месяца 1-31
месяц 1-12 (or names, see below)
день недели 0-7 (0 or 7 is Sun, or use names) 0 - вс, 1 - пн, 2 - вт, 3 - ср, 4 - чт, 5 пт, 6 - сб, 7 - вс.
2 5 25 2 * shutdown -h now
25 февраля в 5 часов и 02 минут выключить компьютер
* */3 * * * reboot
каждые 3 часа перезагружать компьютер
* * * * 6 killall qutim
по субботам каждую минуту убивать аську qutim (чтобы юзер не пропадал в аське)Для более подробной справки наберите команду
man 5 crontab
Комментариев нет:
Отправить комментарий