Linux中很多应用程序日志即使每天做日志切割还是会很大
这是对日志文件进行切割在进行分析会更好
我们可以使用split命令对日志进行切割操作
split命令:将指定文件切割成小文件
-d:使用数字作为文件的后缀(默认以字母作为后缀)
-b:指定切割文件的大小(默认单位是字节)
-l:指定切割的行数作为切割的依据
-v:显示详细信息
实例:
1. 将xiaoshuo.txt文件,切分为每个为5M的小文件
2. 将passwd文件每5行切割为一个文件
实际应用到日志切割
#以/var/log/messages系统日志为例 #编写日志切割脚本 vim /opt/shell/messages.sh #!/bin/bash d=$(date -d "-1 day" +%F) #指定日期 [ -d /var/logbak ] || mkdir /var/logbak #是否存在备份目录没有创建 if [ -f /var/log/messages ];then split -d -b 74752 /var/log/messages /var/logbak/messages-$d- #切割日志每个76kb,小编日志比较小 cat /dev/null > /var/log/messages #清空日志 fi
#将脚本设置为定时任务
crontab -e
*0 *1 * * * /usr/bin/sh /opt/shell/messages.sh #每天1点执行
运行脚本后的执行结果