Отказ от ответственности: ниже описано, что сделано для целей обучения в CentOS 7.
Я хочу перенаправить вывод задания crontab на journalctl
.
Когда у меня есть следующая запись, он просто отправляет письмо пользователю root.
# crontab -l
* * * * * echo "Hello World"
Я читал о systemd-cat
, который может выполнять процесс, передавая его вывод в журнал.
Итак, я сделал это так:
# crontab -l
* * * * * systemd-cat -t "cron-bot" echo "Hello World"
Но теперь я получаю два сообщения журнала каждую минуту:
{
"_TRANSPORT" : "syslog",
"SYSLOG_IDENTIFIER" : "CROND",
"MESSAGE" : "(root) CMD (systemd-cat -t \"cron-bot\" echo \"Hello World\")",
"_CMDLINE" : "systemd-cat -t cron-bot echo Hello World",
}
{
"_TRANSPORT" : "stdout",
"SYSLOG_IDENTIFIER" : "cron-bot",
"MESSAGE" : "Hello World",
"_COMM" : "echo",
}
или в коротком формате:
Sep 06 08:58:01 hostname CROND[13417]: (root) CMD (systemd-cat -t "cron-bot" echo "Hello World")
Sep 06 08:58:01 hostname cron-bot[13417]: Hello World
Может кто-нибудь объяснить мне это поведение? Я хочу получать только выходные данные о работе (cron-bot[13417]: Hello World
)
и не получаю саму команду (CROND[13417]: ...
), но в основном я прошу об этом, чтобы узнать больше о теме.