У меня крон после каждого исполнения задачи шлет мыло на /var/mail/root, как отключить это?А то за неделю мыло рута 100 мегов превышает... =(
>У меня крон после каждого исполнения задачи шлет мыло на /var/mail/root, как
>отключить это?
>
>А то за неделю мыло рута 100 мегов превышает... =(
просмотри выполняемые скрипты и убери оттуда любой вывод, т.е. закомментируй все операторы вывода на консоль (echo, print,...).
>>У меня крон после каждого исполнения задачи шлет мыло на /var/mail/root, как
>>отключить это?
>>
>>А то за неделю мыло рута 100 мегов превышает... =(
>например так:
59 1 * * * root /path/script > /dev/null 2>&1
>просмотри выполняемые скрипты и убери оттуда любой вывод, т.е. закомментируй все операторы
>вывода на консоль (echo, print,...).Например:
*/10 * * * * /usr/local/apache/bin/apachectl restart
From root@bsd.xss.ru Mon Oct 2 13:30:02 2006
Return-Path: <root@bsd.xss.ru>
Received: from bsd.xss.ru (localhost [127.0.0.1])
by bsd.xss.ru (8.13.8/8.13.8) with ESMTP id k929U229032912
for <root@bsd.xss.ru>; Mon, 2 Oct 2006 13:30:02 +0400 (MSD)
(envelope-from root@bsd.xss.ru)
Received: (from root@localhost)
by bsd.xss.ru (8.13.8/8.13.8/Submit) id k929U0hj032909;
Mon, 2 Oct 2006 13:30:00 +0400 (MSD)
(envelope-from root)
Date: Mon, 2 Oct 2006 13:30:00 +0400 (MSD)
Message-Id: <200610020930.k929U0hj032909@bsd.xss.ru>
From: root@bsd.xss.ru (Cron Daemon)
To: root@bsd.xss.ru
Subject: Cron <root@bsd> /usr/local/apache/bin/apachectl restart
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>/usr/local/apache/bin/apachectl restart: httpd restarted
>>просмотри выполняемые скрипты и убери оттуда любой вывод, т.е. закомментируй все операторы
>>вывода на консоль (echo, print,...).
>
>Например:
>
>*/10 * * * * /usr/local/apache/bin/apachectl restart
>
>From root@bsd.xss.ru Mon Oct 2 13:30:02 2006
>Return-Path: <root@bsd.xss.ru>
>Received: from bsd.xss.ru (localhost [127.0.0.1])
> by bsd.xss.ru (8.13.8/8.13.8) with ESMTP id k929U229032912
> for <root@bsd.xss.ru>; Mon, 2 Oct 2006 13:30:02 +0400 (MSD)
> (envelope-from root@bsd.xss.ru)
>Received: (from root@localhost)
> by bsd.xss.ru (8.13.8/8.13.8/Submit) id k929U0hj032909;
> Mon, 2 Oct 2006 13:30:00 +0400 (MSD)
> (envelope-from root)
>Date: Mon, 2 Oct 2006 13:30:00 +0400 (MSD)
>Message-Id: <200610020930.k929U0hj032909@bsd.xss.ru>
>From: root@bsd.xss.ru (Cron Daemon)
>To: root@bsd.xss.ru
>Subject: Cron <root@bsd> /usr/local/apache/bin/apachectl restart
>X-Cron-Env: <SHELL=/bin/sh>
>X-Cron-Env: <HOME=/root>
>X-Cron-Env: <PATH=/usr/bin:/bin>
>X-Cron-Env: <LOGNAME=root>
>X-Cron-Env: <USER=root>
>
>/usr/local/apache/bin/apachectl restart: httpd restarted
*/10 * * * * /usr/local/apache/bin/apachectl restart > /dev/null 2>&1
>*/10 * * * * /usr/local/apache/bin/apachectl restart > /dev/null 2>&1А если сложная команда? cmd && cmd && cmd и т.д., то придется ведь в конце каждой ставить >/dev/null ... Есть ли другие пути? Просто запретить ему слать письма.
PS: что значит и зачем - "2>&1"?
>>*/10 * * * * /usr/local/apache/bin/apachectl restart > /dev/null 2>&1
>
>А если сложная команда? cmd && cmd && cmd и т.д., то придется ведь в конце каждой ставить >/dev/null ... Есть ли другие пути? Просто запретить ему слать письма.
>
>PS: что значит и зачем - "2>&1"?# man crontab (читать про MAILTO)
понимание перенаправления STDERR и STDOUT - читать man используемого SHELL'а:
stdin - файловый дескриптор 0
stdout - ... 1
stderr - ... 2для самостоятельного изучение: перенаправление стандартного ввода, вывода и ошибок,
в sh/bash (redirect stdout & stderr):&>куда == >куда 2>&1
# command &> /dev/null
или
# command >/path/file.log 2>&1Для csh/tcsh - изучить самомтоятельно
ps. системный crontab (/etc/crontab) отличается от пользовательского, crontab пользователя
root != /etc/crontab и формат у них чуть-чуть разный по кол-ву полей
Спасибо, "> /dev/null 2>&1" помогло, правдо так и не понял, что это значит... =(
>Спасибо, "> /dev/null 2>&1" помогло, правдо так и не понял, что это значит... =(когда у тебя интерактивный сеанс - выполнение команды, утилиты или скрипта куда
будет производить вывод сообщений и ошибок?!
а чтобы все это не выводилось на экран что нужно сделать? правильно - перенаправить
stdout и stderr в лог-файл или /dev/nullЧто тут непонятного?!