bash执行命令分别输出正常日志和错误日志

0. 说明

执行bash命令的定时任务时候,希望能把正常的日志输出到一个文件里面,同时如果执行的过程发生异常则把异常日志输出到另一个不同的文件中。方便今后异常排查,极大有利于快速定位出错位置。

需要了解“>”是覆盖文件原来的内容,“>>”是在文件内容最下方追加。

“1>”或“1>>”是正常标准输出,“2>”或“2>>”是异常输出。

1.执行命令

只需要在执行的命令后面加上正常输出和异常输出的命令即可,如下所示:

执行bash命令 >> ./正常输出日志文件路径 2>> ./异常输出日志文件路径

2.举例

2.1执行命令

比如,没有“/noPath”这个目录,如果执行“ls /noPath”目录,则一定会报错;但是执行“ls /”是一定成功的。
如:

新建一个脚本文件test.sh,内容为

#!/bin/bash
ls / >> ./1.log 2>> ./2.log #成功,1.log里面会有根目录的所有文件夹,而2.log没有内容
ls /noPath >> ./1.log 2>> ./2.log #失败,1.log没有这个命令的内容,而2.log会有错误输出

执行脚本“sh test.sh”后,可以在test.sh的同级目录可以看到新生成了两个文件1.log和2.log。

2.2查看结果

查看1.log,正常日志都在这里,而且没有异常日志:

[jay@master shell]$ cat 1.log
bin
boot
dev
etc
home

查看2.log,异常日志都在这里,而且没有正常日志:

[jay@master shell]$ more 2.log
ls: cannot access /noPath: No such file or directory

从而结论得以验证。

转载于:https://www.cnblogs.com/fefjay/p/6044464.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值