Cron 作业在我的错误日志文件中提供特定行

问题描述 投票:0回答:1

我有一个 bash 脚本,它使用 ping 测试进行互联网访问,该脚本有一个 cron 作业启动该脚本,并输出任何问题的 2>&1。

但是,我需要这些问题,在我正在使用的日志文件中写入特定行。 没有捕获到主机的路由并且无法解析主机,但这表明访问互联网服务存在问题,因此应该记录在我的日志文件中。

我真的很难找到解决方案。

*/1 * * * * /onlineCHECK/onlineCHECK.sh >> /onlineCHECK/logs/onlineCHECK_issues--Crontab.log 2>&1

我想要的是将以下内容写入我的日志文件:

(date "+%m/%d/%Y %I:%M:%S %p")"|0|0|0|0|"(date "+%m/%d/%Y %I:%M:%S %p")
bash cron ping
1个回答
0
投票

将命令通过管道传送到一个循环,该循环在每行前面加上日期前缀。创建另一个脚本

date_prefix.sh
:

#!/bin/bash
while read -r line
do
    echo "$(date "+%m/%d/%Y %I:%M:%S %p")|$line"
done

在 crontab 中:

*/1 * * * * /onlineCHECK/onlineCHECK.sh 2>&1 | date_prefix >> /onlineCHECK/logs/onlineCHECK_issues--Crontab.log 2>&1
© www.soinside.com 2019 - 2024. All rights reserved.