Syntax highlighting of 8b311b0 ~( linux/cron)

= CRON =

<<TableOfContents()>>

'''cron''' – программа-демон, предназначенная для выполнения заданий в определенное время, или через определенные промежутки времени. Для редактирования заданий используется утилита crontab.

== Полезные ссылки ==

[[http://help.ubuntu.ru/wiki/cron|Документация|class=" moin-http"]]

== Команды ==

Редактирование расписания по умолчанию

{{{
crontab -e

}}}

Добавление файла расписания

{{{
crontab имя_файла_расписания

}}}

Вывести содержимое текущего файла расписания:

{{{
crontab -l

}}}

Cписок заданий всех пользователей (file-per-user)

{{{
ls -la /var/spool/cron/crontabs/

}}}

Удаление текущего файла расписания

{{{
crontab -r

}}}

Редактирование текущего файла расписания (при первом запуске будет выведен список поддерживаемых текстовых редакторов):

{{{
crontab -e

}}}

== Формат ==

{{{
минута час день_месяца месяц день_недели команда

}}}

Примеры

{{{
# каждую минуту
* * * * *
# Каждые 10 минут:
*/10 * * * *
# Каждый день, с использованием переменных cron:
@daily ~/script.sh
# Каждый день в 03:15 запускать скрипт:
15 3 * * * ~/script.sh
# Каждый понедельник:
0 0 * * 1
# Каждый будний день в 22:00:
0 22 * * 1-5
# Запуск сценария из заданной директории в 7:15 каждый день 
15 7 * * * cd /abs/path/to/script && ./script.sh

# Переменные crontab
              string         meaning
              ------         -------
              @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 * * *".
              @midnight      (same as @daily)
              @hourly        Run once an hour, "0 * * * *".

}}}

== Отладка ==

{{{
# Журнал работы CRON в реальном времени
tailf /var/log/syslog | grep CRON

}}}

Если выводится `No MTA installed, discarding output` , то необходимо настроить сервер электронной почты

Для вывода CRON в файл необходимо использовать оператор ''>>''

{{{
*/1 * * * * /path/to/script.sh >> /path/to/log/file.log 2>&1

}}}