Что такое cron? Cron — программа-демон, предназначенная для выполнения заданий в определенное время, или через определенные промежутки времени. Это программа-демон (служба, по аналогии с Windows), которая постоянно размещена и работает в оперативной памяти компьютера, сканируя раз в минуту список установленных задач на наличие актуальной для выполнения в текущий момент времени. Сами инструкции по запуску задач находятся в специально предназначенных crontab-файлах, которые, в свою очередь, находятся в строго отведённых каталогах системы.
Crontab — команда, которая используется, для управления планировщиком Cron. Команда crontab создает файл crontab, содержащий команды и инструкции для запуска демона cron.
Добавление файла расписания (запланированные действия будут выполнятся от текущего пользователя):
crontab имя_файла_расписания
Вывести содержимое текущего файла расписания:
crontab -l
Удаление текущего файла расписания:
crontab -r
Редактирование текущего файла расписания
crontab -e
Этот ключ позволяет выполнять вышеописанные действия для конкретного пользователя:
crontab -u username
Учтите, что -u можно воспользоваться только запуская crontab от лица суперпользователя.
Узнать, запущена ли в данный момент утилита крон, позволяет команда: service cron status или systemctl status cron
Для запуска и остановки можно также использовать: service cron start или service cron stop, а так же systemctl start cron или systemctl stop cron
Следующие файлы ограничивают доступ к планировщику (по умолчанию они не существуют):
Если cron.allow существует, только юзерам, перечисленным в нем, разрешено использовать cron, при этом файл cron.deny игнорируется. Если cron.allow не существует, юзерам, указанным в cron.deny, не разрешается использовать планировщик cron.Формат записей в обоих файлах — одно имя пользователя в каждой строке. Пробелы не разрешены.Файлы контроля доступа считываются каждый раз, когда пользователь пытается добавить или удалить задачу cron.
Файлы заданий хранятся в следующих местах:
.---------------- минута (0 - 59)| .-------------- час (0 - 23)| | .------------ день месяца (1 - 31)| | | .---------- месяц (1 - 12) | | | | .-------- день недели (0 - 6) (Воскресенье=0 или 7)| | | | |* * * * * команда для выполнения
Пример записи в cron:
0 5 * * 1 tar -zcf var/backups/home.tgz /home/
При необходимости можно также указать электронный адрес пользователя:
MAILTO=user@example.org
Если в описании действия команда отправляет текстовое содержимое в стандартный вывод, то программа, при наличии электронного адреса, автоматически перехватит это сообщение и отправит по e-mail.
Ниже переведены примеры конфигурации крона для периодического запуска команд:Каждую минуту:
* * * * *
Каждый день в 03:15:
15 3 * * *
Каждый понедельник:
0 0 * * 1
Каждый первый день каждого месяц:
0 0 1 * *
Каждый четный час:
* */2 * * *
Каждые 10 минут:
*/10 * * * *
Каждый будний день в 22:00:
0 22 * * 1-5
Нужно учитывать следующие особенности при работе с крон:
Файлы с логами в каждой системе хранятся по разному. Например в Centos это /var/log/crond, в Ubuntu /var/log/syslog. Так же, если не указанно MAILTO, вывод команд работы скриптов которые запускает крон, можно посмотреть в каталоге /var/spool/mail. В файле пользователя из под которого запускается программа.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…