По умолчанию стандартный вывод заданий 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).Почему?