FastNetMon

Showing posts with label cron. Show all posts
Showing posts with label cron. Show all posts

Monday, 2 April 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


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

Wednesday, 8 February 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.

Monday, 13 December 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

Thursday, 15 April 2010

CentOS и CRON

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

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


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


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

Tuesday, 13 April 2010

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

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



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


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

Friday, 12 February 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 вообще не увидел остальные скрипты, у которых есть расширение. Вот такие вот дела :)

Saturday, 30 January 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

Monday, 30 November 2009

CRON: запуск задачи при перезагрузке

Да, я тоже не знал, но такая фича имеется, man 5 crontab:
@reboot Run once, at startup.

Saturday, 23 May 2009

Отладка cron

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

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