linux日志切割命令 linux日志切割工具( 二 )


logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件 。例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月的日志 。配置完后 , logrotate的运作完全自动化 , 不必进行任何进一步的人为干预 。
在Debian或Ubuntu上:
在Fedora,CentOS或RHEL上:
logrotate的配置文件是/etc/logrotate.conf,通常不需要对它进行修改 。日志文件的轮循设置在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下 。
参数详解:
上面的模板是通用的,而配置参数则根据你的需求进行调整,不是所有的参数都是必要的 。
logrotate可以在任何时候从命令行手动调用 。要调用为/etc/lograte.d/下配置的所有日志调用logrotate:
要为某个特定的配置调用logrotate,执行一次切割任务测试
即使轮循条件没有满足,我们也可以通过使用‘-f’选项来强制logrotate轮循日志文件,‘-v’参数提供了详细的输出 。
防止访问日志文件过大
logrotate工具对于防止因庞大的日志文件而耗尽存储空间是十分有用的 。配置完毕后,进程是全自动的,可以长时间在不需要人为干预下运行 。本教程重点关注几个使用logrotate的几个基本样例,你也可以定制它以满足你的需求 。
linux切割、备份大的nohup日志文件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天以前的日志文件 , 此日期为文件本身的时间,非日志内容时间
linux日志切割命令的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于linux日志切割工具、linux日志切割命令的信息别忘了在本站进行查找喔 。

推荐阅读