Linux за българи: Форуми

BSD секция => Настройки на софтуер => Темата е започната от: PeLaLa в Apr 07, 2004, 14:51



Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: PeLaLa в Apr 07, 2004, 14:51
Имам значи следния проблем : Работи статистична програма която се пуска на всеки 5 минути от cron-taba.
Съответно на всеки 5 минути мейла на root-a  също се пълни със съобщения че cron e пуснал еди-какво си.
Някой има ли идея как се спира cron-a да не пише че е стартирал нещо?.Така от неговите съобщения не можеш да да прочетеш важните защото вече триеш всички mail-ли наред.


Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: в Apr 07, 2004, 15:53
Здравей,

доколкото знам може да се пренасочат stdout и stderr и да нямаш такива неприятности. Другото е да си отвориш
man 5 crontab
и да си прочетеш за MAILTO опцията ;)

Успех


Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: n3c в Apr 08, 2004, 01:17
Най-простия вариант е със споменатото в предния отговор пренасочване, а то става така:

5  *  *  *  *  /команда > /dev/null 2>&1

и забравяш, че тази команда се изпълнява ;).


Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: в Apr 08, 2004, 10:51
всъщност има по-прост вариант, извадката е от man 5 crontab:

If MAILTO is defined (and non-empty), mail is sent to the user so named.  If MAILTO is defined but empty  (MAILTO=""),  no mail will be sent.

Така, че трябва да сложиш просто  MAILTO="" на отделен ред в кронтаба и не трябва да получаваш мейлове :-)


Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: n3c в Apr 08, 2004, 15:54
Прав си, че е по-просто, но е също малко подвеждащо. С MAILTO="" се указва глобално да не се праща поща, т.е. резултатът на нито един запис в този списък на cron няма да бъде изпратен.

Ако се цели само за един конкретен запис да бъде елиминирано пращането на поща, начинът с пренасочване към /dev/null е по-удачен.


Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: в Apr 11, 2004, 06:56
това с  :
5  *  *  *  *  /команда > /dev/null 2>&1
не работи при мен    

MAILTO=""
в crontab спира всички съобщения от cron-a      

Oххх няма угодия .

Мерси за съветите.  :D


Титла: Как да накараме CRON да не пълни mail-лога
Публикувано от: n3c в Apr 11, 2004, 18:39
Няма начин да не работи, по-вероятно не правиш нещо правилно.

5   *   *   *   *   /команда > /dev/null 2>&1

е формата на записа ако си се логнал с някой потребител (без значение кой, дори да е root) и си стартирал crontab -e. Ако директно редактираш /etc/crontab, между последната * и /команда трябва да укажеш кой потребител ще стартира записа:

5   *   *   *   *   root   /команда > /dev/null 2>&1

Имай също предвид, че cron няма да стартира команда, която не му е зададена с пълен път (PATH, виж man 5 crontab за повече инфо) ако я няма в PATH.