Crond
Базовая конфигурация
Список заданий текущего пользователя
crontab -l
Изменение заданий текущего пользователя
crontab -e
Расположение файлов заданий
/var/spool/cron/<username>
Формат записи задания
# m - minutes # h - hours # dom - day of month # mon - month # dow - day of week m h dom mon dow command
Ключевые слова
@reboot Выполнение задачи при запуске системы @yearly @annually эквивалент: 0 0 1 1 * @monthly эквивалент: 0 0 1 * * @weekly эквивалент: 0 0 * * 0 @daily @midnight Эквивалент: 0 0 * * * @hourly Эквивалент: 0 * * * *
Примеры
# запускать задание каждые 5 минут с 9 до 18 */5 9-18 * * * command # запускать задание в 10:00 и 15:00 0 10,15 * * * command # запуск при старте системы @reboot command
Ограничение доступа
Доступ пользователей к crontab определяется файлами
/etc/cron.deny /etc/cron.allow
Если в файле есть строка с именем пользователя, то он включен в соответствующий список.
Если файл /etc/cron.allow
не существует, то разрешено всем, иначе разрешено только тем кто включен в этот файл.
Если оба файла не существуют, то разрешено только с привилегиями суперпользователя.
Каталог включений
Файлы из каталога /etc/cron.d
включаются в конфигурацию cron, при этом команда crontab -l
не отображает эти задачи.
Пример:
[root@myhost]# ls -l /etc/cron.d
total 8 -rw-r--r--. 1 root root 128 Jun 9 2019 0hourly -rw-------. 1 root root 235 Apr 1 2020 sysstat
[root@myhost]# cat /etc/cron.d/0hourly
# Run the hourly jobs SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 01 * * * * root run-parts /etc/cron.hourly
[root@myhost]# ls -l /etc/cron.hourly
-rwxr-xr-x. 1 root root 392 Jun 9 2019 0anacron
[root@myhost]# cat /etc/cron.hourly/0anacron
#!/bin/sh # Check whether 0anacron was run today already if test -r /var/spool/anacron/cron.daily; then day=`cat /var/spool/anacron/cron.daily` fi if [ `date +%Y%m%d` = "$day" ]; then exit 0; fi # Do not run jobs when on battery power if test -x /usr/bin/on_ac_power; then /usr/bin/on_ac_power >/dev/null 2>&1 if test $? -eq 1; then exit 0 fi fi /usr/sbin/anacron -s
[root@myhost]# cat /etc/cron.d/sysstat # Run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib64/sa/sa1 1 1 # 0 * * * * root /usr/lib64/sa/sa1 600 6 & # Generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib64/sa/sa2 -A
anacron
# каталог заданий выполняющихся каждый час, определено через /etc/cron.d/0hourly /etc/cron.hourly
anacron запускается через скрипт /etc/cron.hourly/0anacron
Файл конфигурации /etc/anacrontab
, определяет каталоги для ежедневных, еженедельных и ежемесячных заданий
#period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly