Рубрики
backup \ crontab \ tar \ zip \ архивация \ архиваторы

crontab -e

crontab -e


* * * * * выполняемая команда
- - - - -
| | | | |
| | | | ----- День недели (0 - 7) (Воскресенье =0 или =7)
| | | ------- Месяц (1 - 12)
| | --------- День (1 - 31)
| ----------- Час (0 - 23)
------------- Минута (0 - 59)

пример:

 
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, можно перенаправить результат в файл

Запуск от другого пользователя:

sudo crontab -e -u user
где user -пользователь от имени которого будет производиться запуск.

Файлы cron:

/etc/cron.hourly, /etc/cron.daily, и т.д. - каталоги с заданиями cron (crontab -e )

Отправка логов на почту:

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'го часа

Логи:

contab -l - все задания в кроне
В файле /var/log/cron записано время запуска всех заданий cron за предыдущий день