FastNetMon

Показаны сообщения с ярлыком cron. Показать все сообщения
Показаны сообщения с ярлыком cron. Показать все сообщения

понедельник, 2 апреля 2012 г.

Как проверить crontab на наличие ошибок без хорошего знания его синтаксиса?

Легко! Конвертировать его в англйиский чудесным скриптом.

Распакуем его:
gunzip /usr/share/doc/cron/examples/crontab2english.pl.gz

Запускаем:
perl /usr/share/doc/cron/examples/crontab2english.pl
Setting env var MAILTO test@fastvps.ru

Command: (line 2)
Run: /usr/local/ispmgr/sbin/update.sh ispmgr
At: 2am every day

Command: (line 3)
Run: /usr/local/ispmgr/sbin/rotate
At: 1 minute past every hour of every day

Command: (line 4)
Run: /usr/local/ispmgr/sbin/traffic.pl
At: 2:15am every day


Как видите, ошибиться теперь просто невозможно :)

среда, 8 февраля 2012 г.

Как посылать ошибки крона на несколько email?

Очень просто, в самом верху crontab -e перечисляем через запятую адреса получателей:
MAILTO=email1@domain.ru,email2@domain.ru

MAILTO may also be used to direct mail to  multiple  recipients by separating recipient users with a comma. If MAILTO is defined but empty (MAILTO=""), no mail will be sent. Otherwise mail is sent to the owner of the crontab.

Источник: man 5 crontab.

понедельник, 13 декабря 2010 г.

Как включить логгирование cron задач в Debian 5 Lenny?

vi /etc/rsyslog.conf

И правим строку:
#cron.* /var/log/cron.log

На:
cron.* /var/log/cron.log

Применяем настройки:
/etc/init.d/rsyslog restart

После этого все cron задачи начнут записываться в лог-файл:
/var/log/cron.log

четверг, 15 апреля 2010 г.

CentOS и CRON

На одном из CentOS серверов от FastVPS заметил отсутствие CRON в принципе, что меня довольно удивило. И ведь правда - не было.

Пришлось поставить вручную:
yum install -y vixie-cron


И запустить:
/etc/init.d/crond start


В автозагрузку же он попал без моего вмешательства :)

вторник, 13 апреля 2010 г.

Как задать email для получения email уведомлений от CRON для обычного пользователя?

Открываем редактор crontab пользователя:
crontab -e -u username



И первой строкой добавляем:
MAILTO="name@domain.ru"


После этого все уведомления об ошибках CRON задач будут приходить на этот URL.

пятница, 12 февраля 2010 г.

CRON в Debian не поддерживает имена файлов с расширениями!

Это для меня было поистине открытием, но тесты показали, что так и есть.

Имеем папку cron.hourly:

ls /etc/cron.hourly/
clean_logs.sh hosting_check_configs.pl restart_failover_apache


Но если попробовать запустить CRON задачи вручную мы получим:

run-parts -v /etc/cron.hourly/
run-parts: executing /etc/cron.hourly/restart_failover_apache
Syntax OK
Restarting web server: apache2 ... waiting .


То есть CRON вообще не увидел остальные скрипты, у которых есть расширение. Вот такие вот дела :)

суббота, 30 января 2010 г.

Как CRON исполняет процессы от имени пользователя?

Смена uid/gid происходит посредством setgid():


[pid 5591] read(5,
[pid 5593] <... stat resumed> {st_mode=S_IFREG|0644, st_size=2194, ...}) = 0
[pid 5593] getpid() = 5593
[pid 5593] sendto(7, "<78>Jan 30 19:27:01 /USR/SBIN/CRO"..., 59, MSG_NOSIGNAL, NULL, 0) = 59
[pid 5593] close(7) = 0
[pid 5593] setsid() = 5593
[pid 5593] close(4) = 0
[pid 5593] close(5) = 0
[pid 5593] dup2(3, 0) = 0
[pid 5593] dup2(6, 1) = 1
[pid 5593] dup2(1, 2) = 2
[pid 5593] close(3) = 0
[pid 5593] close(6) = 0
[pid 5593] setgid(1001) = 0
[pid 5593] open("/proc/sys/kernel/ngroups_max", O_RDONLY) = 3

суббота, 23 мая 2009 г.

Отладка cron

Следующая задача: есть в cron.daily ряд задач, которые обычно запускаются раз в сутки ночью. Проблема такая: надо не дожидаясь того времени их запустить и проверить корректность исполнения.

Решение: для этого есть отличная программа run-parts /etc/cron.daily она последовательно выполнит все скрипты в данной папке.