Bash 用字符串替换sterr消息
我正在寻找一种记录crontable事件的方法。因此,通过在日志文件中写入执行日期和结果。比如说Bash 用字符串替换sterr消息,bash,shell,scripting,Bash,Shell,Scripting,我正在寻找一种记录crontable事件的方法。因此,通过在日志文件中写入执行日期和结果。比如说 Tue Feb 14 11:17:01 CET 2017 Finish with success Tue Feb 14 11:18:01 CET 2017 Finish with errors 因此,对于第一个问题,我找到了一种方法。通过这种方式: 0,5,10,15 * * * * /path/to/script $args 2>> /path/to/logFile.log &
Tue Feb 14 11:17:01 CET 2017 Finish with success
Tue Feb 14 11:18:01 CET 2017 Finish with errors
因此,对于第一个问题,我找到了一种方法。通过这种方式:
0,5,10,15 * * * * /path/to/script $args 2>> /path/to/logFile.log && echo "$(date) Finish with success" >> /path/to/logFile.log
因此,当出现错误时,我不知道如何将错误输出替换为字符串“$(date)Finish with errors”使用布尔
|
运算符添加登录失败条件,该运算符在命令失败时执行
0,5,10,15 * * * * /path/to/script "$args" >> /path/to/logFile.log 2>/dev/null && echo "$(date) Finish with success" >> /path/to/logFile.log \
|| echo "$(date) Finish with errors" >> /path/to/logFile.log
将
stdout
附加到文件中,将stderr
附加到NULL
中,作为>/path/to/logFile.log 2>/dev/NULL
使用布尔|
运算符添加登录失败条件,该运算符在命令失败时执行
0,5,10,15 * * * * /path/to/script "$args" >> /path/to/logFile.log 2>/dev/null && echo "$(date) Finish with success" >> /path/to/logFile.log \
|| echo "$(date) Finish with errors" >> /path/to/logFile.log
将
stdout
附加到文件,将stderr
附加到NULL
作为>/path/to/logFile.log 2>/dev/NULL
这几乎回答了我的问题,唯一的问题是它仍然打印脚本的错误输出。这不是我想要的。。。实际上我只想让它打印字符串$(date)finish with error…@Joey Pablo:你想禁止写入日志的错误输出吗?@indian是的,我只想知道是否有错误。我不想看到错误的详细信息。@Joey Pablo:参考我的更新!这几乎是对我的问题的回答,唯一的问题是它仍然打印脚本的错误输出。这不是我想要的。。。实际上我只想让它打印字符串$(date)finish with error…@Joey Pablo:你想禁止写入日志的错误输出吗?@indian是的,我只想知道是否有错误。我不想看到错误的详细信息。@Joey Pablo:参考我的更新!由谁来处理