Linux删除过期文件Shell脚本,比如删除3天前的数据库备份文件

#! /bin/bash

data_path="/var/opt/mssql/data" #此处定义数据文件的路径

expired_time=3 #此处定义文件的过期时间,如3天

function deletefiles() {
  local currentDate=$(date +%s) #获取系统时间,所以时间格式为秒

  echo "current date is: " $currentDate

  for file in $(#此处定义文件格式,避免误删,$1指的是下面deletefiles函 数的参数$data_path
    find $1 -name "*.gz"
  ); do

    local name=$file

    local modifyDate=$(stat -c %Y $file)

    local existTime=$(($currentDate - $modifyDate)) #对比时间,算出日志存在时间,距离最近一次修改

    existTime=$(($existTime / 86400))

    if [ $existTime -gt $expired_time ]; then

      echo "File: " $name "Modify Date: " $modifyDate + "Exist time: " $existTime + "Delete: yes"

      rm -rf $file

    else

      echo "File: " $name "Modify Date: " $modifyDate + "Exist time: " $existTime + "

Delete: no"

    fi

  done

}

deletefiles $data_path

 

posted @ 2023-05-21 11:34  87Super  阅读(367)  评论(0编辑  收藏  举报