Перенаправить стандартный вывод crontab вместо стандартного адреса электронной почты - PullRequest
0 голосов
/ 14 сентября 2018

По умолчанию стандартный вывод заданий crontab отправляется на электронную почту пользователя crontab, как указано в описании файла crontab:

# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).

Я хочу использовать slacktee так же, как использовать (tee) чтобы опубликовать сообщение в скрипте, запущенном crontab.В других сценариях (ежедневно планируемых путем помещения их в каталог /etc/cron.daily/) я делаю это:

echo "New message!" | slacktee -i "tada" -c "messages"

И когда они запускаются, проблем нет.Но в моем собственном расписании сценариев я не вижу сообщений о слабине, хотя они работают правильно.

Моя работа запускается каждые четыре часа с этим расписанием:

* */4 * * * /scripts/mysql_backup.sh

Я пробовал много перенаправлений (внутрисценарий, внутри команды cron), но все, кажется, работает.

Как я могу использовать slacktee внутри своего собственного запланированного сценария?

РЕДАКТИРОВАТЬ:

Я немного опоздализвините за это и спасибо за ваше время.

@ PhilDenfer нет, slacktee ничего не регистрирует на /tmp.
@Gedge Я пробовал sudo echo "test" | slacktee.sh, и это работает.Также использование su, а затем выполнение echo "test" | slacktee.sh работает.
@ isp-zax cron-задания выполняются успешно, потому что скрипт выполняет резервное копирование базы данных.

Перенаправление stderr, которое я получил slacktee.sh command not found.Так что использование slacktee.hs в качестве root работает, но не тогда, когда root использует его в запланированном задании crontab (в ежедневном запланированном скрипте я успешно использую slacktee).Почему?

1 Ответ

0 голосов
/ 21 сентября 2018

Перенаправление stderr Я получил команду slacktee.sh не найден. Так что использование slacktee.hs в качестве root работает, но не тогда, когда root использует его в запланированном задании crontab (в ежедневном запланированном скрипте я успешно использую slacktee). Почему?

Поскольку переменная PATH для пользователя root и для пользователя cron различна.

Вместо просто 'slacktee' используйте полный путь, т.е. /usr/local/bin/slacktee, и он должен работать нормально.

...