Какие доступны опции для получения результатов cron и как их настроить?
-
09-06-2019 - |
Вопрос
Я знаю, что поведение cron по умолчанию заключается в отправке нормальных выходных данных и сообщений об ошибках на локальный почтовый ящик владельца cron.
Существуют ли другие способы получить результаты диссертации (например, отправить их по электронной почте нескольким людям, где-то сохранить их и так далее)?
Решение
Вы могли бы перенаправить файл либо на показанную команду, либо на фактическую команду в crontab как для stdout, так и для stderr - подобных command > /tmp/log.txt 2>&1
.
Если вы хотите, чтобы этот журнал получали несколько пользователей, вы могли бы вставить MAILTO=nameofmailinglist
в верхней части вашего cron-файла.
Другие советы
Чтобы отправить выходные данные по электронной почте на другой адрес электронной почты, просто добавьте строку
MAILTO="user@example.com"
На кронтаблицу перед командой
Строка cron ничем не отличается от любой другой командной строки unix, поэтому вы можете перенаправить вывод в другую программу.Т.е.
* * * * * /path/my/command > /my/email/script 2&>1
Это может быть ненужным дополнением, но для квалификации команд перенаправления:
> перенаправляет стандартный вывод
2 - это специфичный для Bourne shell термин, означающий стандартную ошибку
1 - это специфичный для Bourne shell термин, означающий стандартный вывод
2>&1 означает перенаправление стандартной ошибки в стандартный вывод
Также ознакомьтесь со следующей полезной статьей Стандартное перенаправление ввода и вывода
Насколько я понимаю, у вас есть три варианта:
- Перенаправление выходных данных:либо в файл, либо в программу, которая отправит результаты по электронной почте в том виде, в каком вы их хотите
- Используйте MAILTO в cron и перенаправляйте электронное письмо на любой другой единый адрес для всех ваших заданий cron.
- Выполните перенаправление на вашем почтовом сервере или клиенте после того, как cron отправит его.