Ограничения

Для программ, которые запускаются через cron, действуют такие же ограничения по потребляемым ресурсам, как для процессов, запускаемых пользователем в unix shell. Речь идет об ограничениях на время выполнения программы, количеству доступной памяти, ограничениях на размер файлов и так далее.

Кроме того, существует ограничение на периодичность запуска программ из cron. Пользователь может запускать свои программы таким образом не чаще чем 1 раз в 1 час.

4. Планировщик задач Cron и команда crontab

Cron (C ommand R un ON) — система для автоматического запуска программ и скриптов на сервере в определённое время.

Управлять 'cron' нужно с помощью команды 'crontab'. Команда 'crontab -e' автоматически запустит текстовый редактор и загрузит в него файл конфигурации cron. После выхода из редактора, новая конфигурация cron будет установлена (вступит в силу) автоматически.

Конфигурационный файл содержит последовательность командных строк и расписание их вызова. Пустые строки и строки, начинающиеся с символа '#' игнорируются. Остальные строки являются установками переменных окружения и командами cron.

Запись crontab- файла в общем случае состоит из семи полей:

минуты часы день месяц день_недели имя_пользователя команда

Допустимые значения временных параметров:

параметр допустимый интервал
минуты 0-59
часы 0-23
день_месяца 1-31
месяц 1-12
день_недели 0-7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)

Поле может быть задано явно или шаблоном:

  • звездочка - любая цифра
  • целое число
  • целые числа через запятую — задание дискретного множества значений
  • два целых числа, разделенные дефисом, соответствующие диапазону значений.

Пример готовой строки сценария cron:

# Выполнять задание в 18 часов 7 минут 13 мая если это пятница
7 18 13 5 5 /home/www/myscript.pl
# Выполнять задание раз в час в 0 минут
0 */1 * * * /home/www/myscript.pl
# Выполнять задание каждые семь часов в 0 минут
0 */7 * * * /home/www/myscript.pl
# Выполнять задание по воскресеньям в 10 час 30 минут
30 10 * * 0 /home/www/myscript.pl

Для выполнения php скриптов из cron необходим бинарный интерпретатора PHP, путь к интерпретатору PHP уточните у хостинга.

# Пример запуска скрипта в 5 утра каждый день:
0 5 * * * /usr/bin/php -q /home/www/script.php

Обратите внимание, при запуске из cron опция -q указывает PHP не выдавать http-заголовки.

5. Планировщик заданий cron и команда crontab

shell/bashВаш отзыв

Разберемся немного как добавить выполнение какого либо скрипта в планировщик заданий cron в ОС Linux Добавить задание на выполнение в определенное время можно используя программу crontab. Каждый пользователь системы имееет свой собственный файл, в котором прописаны все задания от данного пользователя (/var/spool/cron/). Просмотреть задания, которые уже добавлены в Ваш cron файл (в cron файл Вашего пользователя) можно через команду:


crontab -l

Конечно же, что Ваш cron файл может быть пустым пока-что. Что бы добавить новое задание используем команду:

crontab -e

Эта команда открывает cron файл Вашего пользователя через редактор, который используется по умолчанию в системе. Далее добавляем команду, которую надо запустить в определенное время, в следующем формате и сохраняем файл:

* * * * * /usr/bin/php /home/user/script.php

Распишем подробней что же означают звездочки:
(цифры — это номера звездочек)
1. Минуты (0 — 59)
2. Часы (0 — 23)
3. День месяца (0 — 31)
4. Месяц (1 -12)
5. День недели (0 — 6, 0 — воскресенье)

Вот с помощью этих звездочек мы указываем когда запускать команду (или как часто запускать). Например если вместо номера месяца стоит звездочка, значит команда будет запускаться каждый месяц. Если поставить звездочку на место минут, это будет означать каждую минуту и аналогично для остальных.
Например, нам надо, что бы shell скрипт запускался каждый день в 12.00 и 24.00, тогда запись в крон файл требуется добавить следующую:

0 0,12 * * * /path/to/shell-script.sh

значит
0 — это минуты
0,12 — мы точно указываем часы, в которые надо запускать
* * * — означает что запускать надо каждый день, каждый месяц, каждую неделю.
А вот если нам надо запускать скрипт каждый два часа, тогда можно воспользоваться двумя вариантами:

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path/to/shell-script.sh

Но программа crontab разрешает нам поступить проще, а результат один и тот же:

0 */2 * * * /path/to/shell-script.sh

*/2 — запись указывает что скрипт будет запускаться каждые два часа.
На счет пути к скрипту: если в скрипте указан обработчик (для shell например это строка в начале файла #!/bin/shell или #!/bin/bash) тогда просто пишем путь к скрипту в крон файл, как показано выше; если же обработчик не указан в скрипте, то срока выглядела бы следующим образом:

0 */2 * * * /bin/shell /path/to/shell-script.sh


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: