gpt4 book ai didi

linux - 如何向 crond 的 native 日志添加时间戳?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:00 24 4
gpt4 key购买 nike

我知道这个问题已经被问过无数次了,但我正在寻找一个使用 crond 的 native 日志功能的解决方案。我不想通过管道传输每个 cron 的输出并在前面添加时间戳。

我像这样启动 crond:

crond -L /var/log/cron.log -f

日志是这样的:

crond: crond (busybox 1.30.1) started, log level 8
crond: USER root pid 16 cmd echo "hello"
crond: USER root pid 18 cmd echo "hello"
crond: USER root pid 19 cmd echo "hello"

我想在行前添加时间戳。我不想向每个单独的 cron 添加一些标准输出命令并在前面添加日期。

也许我可以观看该文件并附加到每个新行或其他内容?如何访问 crond 的流并对其进行修改?

最佳答案

我相信答案是不可能修改 crond 输出文件。

cron 的实际实现细节并不容易控制单个作业的日志文件。此外,crond 以 root 身份运行,这将使用户作业很难更改文件。在 crond 运行时尝试更改文件可能会导致问题。

考虑以下选项

  • 编写一个进程,tail -f 日志文件,并创建一个新的日志文件,每行都以时间戳为前缀。
  • 在启动时运行该进程。
tail -f /var/log/cron.log | while read x ; do echo "$(date) $x" ; done >> /var/log/cron-ts.log

或者配置为您需要的任何格式。

关于linux - 如何向 crond 的 native 日志添加时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59117995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com