首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Crontab + Journalctl:额外消息

Crontab + Journalctl:额外消息
EN

Stack Overflow用户
提问于 2018-09-06 17:26:23
回答 1查看 2.8K关注 0票数 1

免责声明:以下内容描述了在CentOS 7中为学习目的所做的事情。

我想将crontab作业的输出重定向到journalctl。当我有以下记录时,它只是向root用户发送一封邮件。

代码语言:javascript
复制
# crontab -l
* * * * * echo "Hello World"

我读到过systemd-cat,它可以执行一个进程,将它的输出通过管道传输到日志。所以我是这样做的:

代码语言:javascript
复制
# crontab -l 
* * * * * systemd-cat -t "cron-bot" echo "Hello World"

但现在我每分钟都会收到两条日志消息:

代码语言:javascript
复制
{
  "_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",
}

或者,简而言之:

代码语言:javascript
复制
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]: ...),但我请求此命令主要是为了了解更多关于该主题的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-06 19:19:01

cron会将它运行的每个命令记录到syslog中,并且在您的系统上,syslog也会记录在日志中。据我所知,cron没有禁用该功能的选项,但您可以通过只选择通过标准输出接收到的日志消息来隐藏这些消息:

代码语言:javascript
复制
journalctl -u cron _TRANSPORT=stdout

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52200878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档