Инструменты пользователя

Инструменты сайта


server:centos:cron

Крон

  # For details see man 4 crontabs

  # Example of job definition:
  # .---------------- minute (0 - 59)
  # |  .------------- hour (0 - 23)
  # |  |  .---------- day of month (1 - 31)
  # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
  # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
  # |  |  |  |  |
  # *  *  *  *  * user-name command to be executed

Разберемся немного как добавить выполнение какого либо скрипта в планировщик заданий 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

http://unixblog.org.ua/shell/cron-crontab/

/var/www/source/data/pages/server/centos/cron.txt · Последнее изменение: 2024/02/05 12:40 (внешнее изменение)