linux自动压缩日志文件

目录

  • 前言
  • 编写脚本
  • 配置计划任务

前言

大型项目日志量非常大,如果不采取特定措施,不到一个月200G的磁盘就会被占满,一种最简单的方法就是将日志文件压缩,使用 tar -cvzf xxx.tar.gz xxx 压缩,压缩后占用空间只有原来的1/10左右。

编写脚本

规则:

#!/bin/bash
yesterday=$(date -d last-day +'%Y%m%d')
logs=$(find /xxxx/logs/ -type d -name $yesterday)
for log in $logs
   do
       echo "clean logs : $log"
       tar -Pczvf $log.tar.gz $log
       rm -rf $log
   done

说明:
1、假设每天的日志文件存放在文件夹“年月日”(例如:20230812)下;
2、date -d last-day +‘%Y%m%d’ 获取前一天的日期;
3、当天压缩前一天的日志;
4、 tar -Pczvf $log.tar.gz $log 加上 -P是为了去掉警告:tar: 从成员名中删除开头的“/”;
5、解压时请使用 tar -Pxvf xxx.tar.gz 加 -P的命令。

配置计划任务

将编写好的脚本粘贴到宝塔的脚本输入框,配置执行时间以及输入任务名,点击添加任务即可
linux自动压缩日志文件_第1张图片

你可能感兴趣的:(运维,linux,linux,运维,服务器)