定期清理数据文件脚本

2020-06-09  本文已影响0人  早_wsm

业务需求:定时清理数据包,充分利用硬盘空间

#!/bin/bash
#上传数据包处理办法
#time:2020/06/08
#version 1.0
#wsm

data_path=/mnt/xiangmu_project/qfls/temlog/
now=`date +"%Y-%m-%d %H:%M:%S"`
cd $data_path
#day=`date +%d`
#记录日志
echo "开始处理数据包,日期:${now}" >> /tools/scripts/cron_data.log

last_month=`date -d "$(date +%m)01 last month" +%m`

last=`date -d "$(date +%Y%m)01 last month" +%Y%m`

new_dir=temlog_$last

#每月1日创建一个以上月为名称的目录
#if [ $day -eq 01 ]; then
mkdir $new_dir 
#fi


#找到上月月份结尾的所有文件并移动到新建目录中
mvfile=`find $data_path -type f -name "*$last_month-*.txt"`
mv  $mvfile $new_dir

#打包31天前的目录并删除原文件
dir=`find $data_path -type d -mtime +31`
tar zcP -f $dir.tar.gz $dir --remove-files

if [ -d "$dir" ];then
  rm -rf $dir
else
  echo "已自动删除原打包文件" >> /tools/scripts/cron_data.log
fi
#找到超过180天的tar包并删除
find $data_path -name "*.tar.gz" -mtime +180 -exec rm -rf {} \;
#记录日志
now1=`date +"%Y-%m-%d %H:%M:%S"`
echo "结束处理数据包,日期:${now1}" >> /tools/scripts/cron_data.log
上一篇 下一篇

猜你喜欢

热点阅读