shell脚本打印日志
2018-03-05 16:31
267 查看
#!/bin/bash LOG_FILE="/var/log/test.log" >"${LOG_FILE}" exec &>>${LOG_FILE} set -x
第一行是定义日志绝对路径
第二行是先清空日志文件内容
第三行是把当前脚本的标准输出,标准错误输出都重定向到文件LOG_FILE中
第四行是打印每一行shell命令执行
exec是用被执行的命令行替换掉当前的shell进程,且exec命令后的其他命令将不再执行。例如在当前shell中执行exec ls表示执行ls这条命令来替换当前的shell即为执行完后会退出当前shell。但是当exec命令对文件描述符操作的时候,就不会替换shell,而是操作完成后还会继续执行后面的命令。例如第三行,在这里&>>LOG_FILE意思是把标准输出,标准错误输出都重定向到文件LOG_FILE中。
一般只需要在脚本前面加上这几行就可以了,日志内容就是脚本执行命令的全部过程和标准输出,标准错误输出内容。我们也可以自定义自己的打印函数:
#!/bin/bash LOG_FILE="/var/log/test.log" exec 2>>${LOG_FILE} function my_log() { local curtime=`date "+%Y-%m-%d %H:%M:%S"` echo "$curtime $*">> ${LOG_FILE} } main() { my_log "hello world" } main "$@"
可以看到我们开始先把标准错误输出都重定向到文件LOG_FILE中,我们自定义的打印函数前面会带上当前时间戳。
相关文章推荐
- shell脚本打印日志方法
- shell脚本调试打印日志问题
- Shell执行将脚本里的变量打印到指定日志文件
- QT-窗口打印debug信息,本地日志保存,以及执行shell脚本并且把信息打印在窗口
- 输出执行操作和打印日志的shell脚本
- 输出执行操作和打印日志的shell脚本实例
- [转]shell脚本打印日志方法
- shell脚本打印日志方法
- shell脚本打印日志方法
- weblogic每天日志合并shell脚本 [个人记录]【转】【补】
- shell脚本-打印数字
- shell 脚本每隔一段时间打印当前系统时间
- shell脚本自动删除n天前日志
- shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)
- SHELL脚本监控oracle alert日志
- Shell脚本攻略01-简介/终端打印
- shell脚本日志的简单实现
- shell脚本自动清理服务器日志、图片等信息
- 『转』统计一个日志文件里,单词出现频率的shell脚本
- shell脚本检查统计nginx访问日志access.log