crontab -e
1 2 3 4 5 6 7 8 |
* * * * * выполняемая команда - - - - - | | | | | | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7) | | | ------- Месяц (1 - 12) | | --------- День (1 - 31) | ----------- Час (0 - 23) ------------- Минута (0 - 59) |
пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ 23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д." 5 4 * * sun echo "Выполняется в 4:05 в воскресенье" 0 0 1 1 * echo "С новым годом!" 15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15" 0-59 * * * * echo "Выполняется ежеминутно" 0-59/2 * * * * echo "Выполняется по четным минутам" 1-59/2 * * * * echo "Выполняется по нечетным минутам" */5 * * * * echo "Прошло пять минут" * 5 4-10 0-3 * echo "HELLO" - печать HELLO в 5:00 на 4,5,6,7,8,9,10 дни января, февраля, марта и апреля * */2 * * sat echo "HELLO" - печать HELLO каждый четный час, каждую субботу * 0,2,4,6,8,10,12,14,16,18,20,22 * * sat echo "HELLO" - печать HELLO каждый четный час, каждую субботу * 0-23/2 * * sat echo "HELLO" - печать HELLO каждый четный час, каждую субботу 59 23 31 dec * echo "Happy new year" - без комментариев :), поздравит с новым годом 0-59 * * * * /home/user/mail 2>/tmp/tmp.cron - для отладки задания cron, можно перенаправить результат в файл |
Запуск от другого пользователя:
1 2 |
sudo crontab -e -u user где user -пользователь от имени которого будет производиться запуск. |
Файлы cron:
1 |
/etc/cron.hourly, /etc/cron.daily, и т.д. - каталоги с заданиями cron (crontab -e ) |
Отправка логов на почту:
1 2 3 4 5 6 7 8 9 |
SHELL=/bin/bash - означает использовать для запуска команд /bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin - означает использовать для запуска команд /bin/bash MAILTO=root - означает кому отсылать сообщение о результате работы команд HOME=/ - корневой каталог для пользователя (параметр не обязательный) # run-parts 01 * * * * root run-parts /etc/cron.hourly - содержимое каталога /etc/cron.hourly будет запускаться каждый час на первой минуте часа 02 4 * * * root run-parts /etc/cron.daily - содержимое каталога /etc/cron.daily будет запускаться каждый день на второй минуте четвертого часа 22 4 * * 0 root run-parts /etc/cron.weekly - содержимое каталога /etc/cron.weekly будет запускаться каждое воскресенье на 22'ой минуте 4'го часа 42 4 1 * * root run-parts /etc/cron.monthly - содержимое каталога /etc/cron.monthly будет запускаться каждый первый день месяца на 42'ой минуте 4'го часа |
Логи:
1 2 |
contab -l - все задания в кроне В файле /var/log/cron записано время запуска всех заданий cron за предыдущий день |