linux切割、备份大的nohup日志文件

linux切割、备份大的nohup日志文件,第1张

nohup.out日志文件太大了,且一直增长,命令查看日志受阻

切割大文件变成多个小文件

②每天定时保存前一天的日志,重新记录当天日志

1.利用split命令切割

①按文件大小切割大文件:

切割文件:将ohup.out文件每500M切割一个文件放到/home/nginx/logs/newlog/目录下

②按文件行数切割大文件:

查询文件行数:

wc -l b.log

2038711 b.log

按50W行切割一个文件:

split -l 500000 -d -a 4 /home/nginx/logs/b.log /home/nginx/logs/newlog/

2.定时备份前一天日志,重新记录当天日志splitlog.sh

3.定时执行

查看定时任务:

crontab -l

编辑定时任务:

crontab -e

重启定时任务:

删除10天以前的日志文件,此日期为文件本身的时间,非日志内容时间

1)按2行切割 -l 2

2)指定切割后的文件前缀名 data_

3)指定切割后的文件后缀名为数字 -d

4)指定切割后的文件后缀名数字的长度    -a 4,即位宽(10进制),这里长度可根据切割出来的文件有多少估算,到底拆分为几个文件,由总行数,和每个文件的行数决定,不用指定。

如果为-a 4文件的后缀数字从0000开始计算,依次为0001,0002,0003,0004

split -l 2 data.log -d -a 4 data_

将文件data.log进行拆分,每个文件2行,如果文件总共有7行,则分为data_0000,data_0001,data_0002,data_0003

在linux系统下用vim打开大小几个G、甚至几十个G的文件时,是非常慢的。

这时,我们可以利用下面的方法分割文件,然后再打开。

1、查看/导出文件的前多少行

上面命令的意思是:把big.log文件前10000行的数据写入到temp.log文件中。

2 、查看文件的后多少行

上面命令的意思是:把big.log文件后10000行的数据写入到temp.log文件中。

3 、查看文件的几行到几行

上面命令的意思是:把big.log文件第10到10000行的数据写入到temp.log文件中。

4 、根据查询条件导出

5、 实时监控文件输出(查看日志时经常会用到)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7151589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存