前言
作为一名优秀的全栈工程狮,难免要跟运维打交道的。而查看生产日志,使我们快速定位、查询生产异常的基本操作。下面我就介绍一下,我在日常维护中,经常用到查看日志的命令。
注:我使用的是SecureCRT来对日志进行跟踪、查看。
1、SecureCRT配置
我是通过SecureCRT来查看服务器日志的。这里安装就不讲了,讲SecureCRT的配置吧。
到这里就配置好了,双击对应的Session就可以连接了。首次接入,还需要登录密码,如下。
最后一步,处理一下中文乱码:
配置:
OK之后,再重新打开 Session 就可以了。
2、查看日志
由于正式环境上用户量大,每天都会产生大量的日志,所以我们往往会将当天除外的日志,统统压缩存放起来。
查看当天日志,常用命令如下:
● 简单查询:
cd /(文件名) 进入到某文件
vi /(文件名) 打开日志
ls 查看当前目录下所有文件
/字符 检索字符
● 根据关键字查询:
$ cat -n mobile...30-20.log |grep 'key1' |grep 'key2' |less
cat 主要有三个功能:
1.一次显示整个文件。$ cat filename~,
2.从键盘创建一个文件。$ cat > filename
注:只能创建新文件夹,不能编辑原有文件夹;
3.将几个文件合并为一个文件。$cat file1 file2 > file"t?=\
grep 主要是用于匹配关键字上下几行:
1.同时匹配多个关键字;
$ grep -5 'key1|key2|key3' mobile...30-20.log // 满足(key1/key2/key3)任一条件,则匹配、打印前后5行;
$ grep -C 5 'key1|key2|key3' mobile...30-20.log // 打印匹配行的前后5行;
$ grep -A 5 'key1|key2|key3' mobile...30-20.log // 打印匹配行的后5行;
$ grep -B 5 'key1|key2|key3' mobile...30-20.log // 打印匹配行的前5行;
$ grep -5 'key1' |grep 'key2' |grep 'key3' mobile...30-20.log
// 同时满足(key1&key2&key3),则匹配;
匹配到关键行之后,我们再根据 线程号+时间 进一步匹配,就可以找到我们想要的日志,如下:
cat -n mobile...30-20.log | grep '09:01:22' | grep 'catalina-exec-64]' | less
$ tail -n +31 mobile...30-20.log |less 匹配第31行 之后的日志。
tail -f mobile...30-20.log 匹配文件的尾部日志(默认10行,即上面的 -n 10)。
tail -n 20 mobile...30-20.log 匹配文件的最后20行日志。
tail -r -n 10 mobile...30-20.log 倒序显示文件的最后10行日志。
-n 参数:
-n 或 --number 由 1 开始对所有输出的行数编号;
-b 或 --number -nonblank 与 -n 相似,只是不对空白行进行编号;
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting
$ head -n 10 mobile...30-20.log |less 查询文件中的头10行日志
$ head -n -10 mobile...30-20.log |less 查询文件中除了最后10行的其他所有日志
$ cat -n test.log |grep "debug" |more 分页打印
$ cat -n test.log |grep "debug" >debug.txt 可以保存到 debug.txt 文件中,到时可以拉下这个文件分析;
3、
4、
5、
小结