Linux日志相关命令—查看关键词查询截取日志压缩备份

一、查看

1、动态日志查看。
说明:程序启动可以动态查看运行日志

tail  -f  文件名.log

2、显示最后100行
说明:动态日志没有写入的时候,可以用该命令查询最后的几行

tail  -100f 文件名

二、关键词查询

常用(可记住):

cat -n nohup.out | grep "关键词"
//查询显示包括关键词的(A前B后C前后)几行
cat -n nohup.out |grep '关键词' -A 2   
//关键词行号的+几行之后,-几行之前
more  +行号  文件名     

1、关键字普通查询

说明:会查询日志文件中涉及关键词的那一行,并显示出来,关键词在日志中出现太多就不好定位。

cat nohup.out | grep "关键词"



2、关键字搜索并显示行号

说明:搜索出关键字内容且显示关键字所在行, n参数为显示行号

cat -n nohup.out | grep "关键词"



3.按照关键字搜索并包含前(后)多少行

cat -n nohup.out |grep '关键词' -A 2

说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

案例:查询关键词后面2行一起显示。



4.根据关键字所在行号,查看第N行前面或者后面的日志

more +行号 文件名,查看后面的数据,q退出
more -行号 文件名,查看前面的数据,q退出

more  +行号  文件名

(1)定位到18行,从18行查看后面的日志



(2)查询18行之前的日志



5.根据关键字所在行号,显示后面的几行

cat nohup.out | tail -n +第几行开始| head -n 显示几行

案例:从18行开始,显示30行



三、截取

1.先了解>和>>

清空c文件写入

tail -10 b.txt > c.txt 

追加写入到c文件

tail -10 b.txt >> c.txt

2.截取几行到几行的数据,写入到文件

sed -n ‘10000,20000p’ nohup.out> test.log

3.其他相关sed命令

1.history命令写入到1.text

history >1.txt

2.把1.txt文件中写入到2.txt,第1到3行不写入。

 sed '1,3d' 1.txt >2.txt

结果:1到3行没在了。相当于文件1中的几行不需要写入到文件2,使用该命令。
3.删除第文件中1到3行

 sed  -i '1,3d' 1.txt

4.截取最后几行写入到另外一个文件

 tail -100000 nohup.out > b.txt

5.截取时间内容到另外一个文件

grep  '2023-03-17 14:57 >a.txt

四、定时日志压缩备份

1.编写log_backup.sh 压缩日志文件

[root@localhost logs]# cd /root/
[root@localhost ~]# ls
 log_backup.sh 
[root@localhost ~]# cat log_backup.sh 
cd /home/user01/java/project/
tar tar czf `date +"%Y-%m-%d"`.tar.gz nohup.out
sleep 1
cat /dev/null > nohup.out

2.写入到crontab相关定时任务命令

写入编辑命令:crontab -e
查看命令:crontab -l

[root@localhost logs]# crontab -l
*/20 * * * * /sbin/ntpdate -u 10.30.24.21 > /dev/null 2>&1
59 23 * * * /root/log_backup.sh
展开阅读全文

页面更新:2024-03-08

标签:行号   关键词   命令   日志   文件名   备份   关键字   案例   文件   动态   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top