shell运行下的写日志

Posted 道法自然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell运行下的写日志相关的知识,希望对你有一定的参考价值。

tee 重定向输出到多个文件
 
在执行Linux命令时,我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令
要注意的是:在使用管道线时,前一个命令的标准错误输出不会被tee读取。
tee file         //覆盖
tee -a file     //追加
tee -            //输出到标准输出两次
tee - -          //输出到标准输出三次
tee file1 file2 -    //输出到标准输出两次,并写到那两个文件中
ls | tee file  
另:把标准错误也被tee读取
ls "*" 2>&1 | tee ls.txt
例子1:
#!/bin/sh
if [ $# -ne 1 ]
then 
 echo "Usage:sh $0   YYYYMMDD "
  exit 1
fi
V_DT=$1

exec 1>>`basename $0`.log
date_current=`date +%Y%m%d`
echo "传入时间为: ${V_DT}"
echo "系统时间为: ${date_current}"
exit 0
例子2:
#!/bin/sh
if [ $# -ne 1 ]
then 
 echo "Usage:sh $0   YYYYMMDD "
  exit 1
fi
V_DT=$1

date_current=`date +%Y%m%d`
echo "传入时间为: ${V_DT}"  >> $(basename $0).log
echo "系统时间为: ${date_current}" >> $(basename $0).log
echo "tee commant test" 2>&1|tee -a $(basename $0).log     --日志和屏幕都存在
exit 0
 
结果输出:
[[email protected] test]$ sh test.sh 20181010
[[email protected] test]$ sh test2.sh 20181010
tee commant test
[[email protected] test]$ more test2.sh.log
传入时间为: 20181010
系统时间为: 20181029
tee commant test

 












以上是关于shell运行下的写日志的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

shell脚本检测服务

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

简洁的写日志发短信

shell定期删除日志脚本

Shell实战定期清理日志文件的shell脚本