日志切割工具split
2022-06-21 本文已影响0人
su酥饼
1、文件切割
1、指定切割文件的大小
split -b 1024m access_log -d -a 2 /tmp/access_log --verbose
2、指定切割文件的文字行数
split -l 1000000 access_log -d -a 2 /tmp/access_log_ --verbose
参数介绍:
-b 切割按大小
-l 切割按行数
-d 文件名称后缀系数不是字母而是数字
-a 后缀系数的位数,上面命令指定了两2位数
--verbose 切割过程中输出文件特征和进度
access_log 要切割的文件
access_log_切割后的路径别名前缀
下面是切割脚本
cat split_log.sh
#给日志每500m分片 后保存到/tmp/ 目录下
split -b 500m -d nohup.out /tmp/nohup.out_$(date +%F)_
#清空以及分片好的nohup.out
cat /dev/null > nohup.out
下面是 定期删除脚本
cat delete_log.sh
find /tmp/ -mtime +10 -name "nohup.out_*" -exec rm -rf {} \;
在编写定时任务
crontab -l
0 0 * * * /bin/bash split.sh
0 1 * * * /bin/bash delete_log.sh