Crontab + Journalctl:额外的消息



免责声明:以下描述在 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]: ...(,但主要是我要求这个来了解有关该主题的更多信息。

cron记录它运行到系统日志中的每个命令,在您的系统上,系统日志也会在日志中结束。据我所知,cron没有禁用它的选项,但您可以通过仅选择通过 stdout 接收的日记消息来隐藏这些消息:

journalctl -u cron _TRANSPORT=stdout

(-u cron可能是 CentOS 上的-u crond或类似的东西,我不确定。

"SYSLOG_IDENTIFIER" : "CROND"的日志条目显示 cron 正在执行命令以及该命令是什么。

"SYSLOG_IDENTIFIER" : "cron-bot"的日志条目显示脚本输出。

由于您使用了包含-t "cron-bot"journalctl标记功能,因此您可以通过过滤从journalctl中提取的内容来拉取所需的输出。这种-t是设定SYSLOG_IDENTIFIER的原因。(我想你已经知道了😉(

像这样的东西是我多次用来从日志中获取特定日志的方法:

journalctl -fet "cron-bot"

这应该只显示您的输出,而不是日志的 cron/crond 输出。

https://man7.org/linux/man-pages/man1/journalctl.1.html

-f, --follow
Show only the most recent journal entries, and continuously
print new entries as they are appended to the journal.
-e, --pager-end
Immediately jump to the end of the journal inside the implied
pager tool. This implies -n1000 to guarantee that the pager
will not buffer logs of unbounded size. This may be
overridden with an explicit -n with some other numeric value,
while -nall will disable this cap. Note that this option is
only supported for the less(1) pager.
-t, --identifier=SYSLOG_IDENTIFIER
Show messages for the specified syslog identifier
SYSLOG_IDENTIFIER.
This parameter can be specified multiple times.

相关内容

  • 没有找到相关文章

最新更新