нет / var / log / cron, нет /var/log/cron.log на моем debian7, где находится мой лог-файл crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
нет / var / log / cron, нет /var/log/cron.log на моем debian7, где находится мой лог-файл crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
Ответы:
Я думаю на debian
cron
пишет логи в /var/log/syslog
.
Если ваша система зависит от rsyslog
или syslogd
вы можете проверить и раскомментировать либо в /etc/rsyslog.conf
или /etc/syslog.conf
для строки:
# cron.* /var/log/cron.log
а затем перезапустите сервисы.
Если ваша система зависит, systemd
например, вы можете проверить с помощью следующей команды:
journalctl _COMM=cron
или
journalctl _COMM=cron --since="date" --until="date"
Для формата даты вы можете проверить journalctl .
sudo journalctl --since yesterday -u cron.service
? Что такое _COMM
?
По умолчанию выходные данные crontab
заданий отправляются на локальный адрес электронной почты пользователя-владельца. Например: crontab
выходные данные для пользователя aUser на хосте www.aDomain.com будут отправлены на адрес aUser@www.aDomain.com . Система использует почтовую программу по умолчанию для выполнения задачи.
Вы можете перенаправить эти выходные данные на альтернативный адрес электронной почты, добавив MAILTO
оператор в файл crontab. Например:
# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh
Будьте осторожны при использовании внешнего адреса электронной почты для получения журналов crontab. Часто отправляемые сообщения могут попасть в спам-фильтр. Затем вам нужно будет пометить сообщения как не спам для таких служб, как Yahoo, HotMail или Gmail.
Альтернативным решением было бы перенаправить вывод ваших команд crontab в файл по вашему выбору. В приведенном ниже примере stdout
и stderr
вывод отправляется на /tmp/aJob.log
. Этот метод исключает возможность отправки сообщения электронной почты.
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1
Другой альтернативой является отправка stderr
журналов по электронной почте и stdout
журналов в файл. В этом случае вы получите уведомление по электронной почте, когда ваши crontab
команды генерируют неожиданные сообщения об ошибках. Разница с предыдущим примером заключается в том, что 2>&1
он удален, чтобы stderr
выводить вывод на консоль и, следовательно, на электронную почту.
# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log
Подробнее CRONTAB таблицы и кронтаб команды
Так как он не помечен как debian и также появляется в поисках fedora, вот как проверить последние (на основе systemd) fedora:
sudo systemctl status crond
Типичный вывод
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2019-09-29 16:09:21 CEST; 47min ago
Main PID: 1167 (crond)
Tasks: 1
Memory: 2.8M
CPU: 948ms
CGroup: /system.slice/crond.service
└─1167 /usr/sbin/crond -n
Sep 29 16:09:21 ncelrnd0216 systemd[1]: Started Command Scheduler.
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) STARTUP (1.5.4)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (Syslog will be used instead of sendmail.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 31% if used.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (running with inotify support)
и all
журналы с
journalctl --unit crond -n all