Cron – планировщик для linux и других UNIX подобных систем

Выполняет задания по расписанию.
Crontab отвечает за выполнения задач по расписанию для каждого пользователя(ей).
Cron файлы и директории.

/etc/crontab
/etc/cron.d
/var/spool/cron/(юзернейм)
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly


Ограничения.

Cron имеет встроенную функцию, которая позволяет задать, кто может и кто не может его использовать.
Это может быть сделано с помощью /etc/cron.allow и /etc/cron.deny файлов. Если имя пользователя существует в файле /etc/cron.allow то пользователю разрешено выполнять crontab команду.
Если /etc/cron.allow файл не существует, вы можете использовать кронтаб если имя пользователя не добавлено в файл “/etc/cron.deny“.
Если файл cron.deny существует но в нём нет ни одной записи то только пользователю root можно использовать команду crontab. allow/deny файлы должны быть вида:

username1
username2

В каждой строчке должно быть только по одному имени пользователя в строке, иначе работать не будет.

Crontab Функции и объяснение.

Кронтаб файл содержит 5 полей для указания времени, дня, даты и затем команда, которая будет выполняться в заданный интервал времени. Ниже Crontab синтаксис:

* * * * * команда_которая_должна_выполнится
- - - - -
| | | | |
| | | | +—– День недели
| | | +——– Месяц
| | +———– День месяца
| +————— Час 
+—————— Минуты

Значения:

Минуты (0-59), 
Часы (0-23), 
День (1-31), 
месяц (1-12), 
День недели (0-6 with 0=Воскресенье).

‘*’ означает – все возможные значения
“*/5” рассматривается как каждые 5 минут, часов, дней или месяцев. Если заменить “5” другим численным значением тогда этот параметр изменится на заданное значение (*/10 – каждые 10 минут, */20 – каждые 20 минут и т.д.)
4,8,12 “,” рассматриваются как “И” поэтому, если их поместить в “Час” это будет означать 4, 8 и 12 часов. Если поместить в “День недели” это будет 4-го 8-го и 12-го числа. “,” Используется для определения дополнительные параметра [дата, время, день]
2-12 Означает с 2-х до 12-ти. Таким образом, если их поместить в “день недели”, это будет с 2-го до 12-го выполнять задание.
Если установить в “Час” выполнятся задание будет с 2-х до 12-ти. “-” Используется, чтобы определить диапазон дат [времени]

Crontab Команды:

crontab -e  Изменить кронтаб файл или создать если он не существует.
crontab -l  Показать записи в 	crontab-е.
crontab -r  Удалить crontab.
crontab -u username -e   Эта опция позволяет вам изменить или просмотреть кронтаб файл пользователя (username), только супер  пользователь (root) может использовать эту опцию.
crontab -u username -l   Показывает crontab записи пользователя username.