zoukankan      html  css  js  c++  java
  • 删除mysql备份文件

    前言:前篇介绍了mysql的备份方法,但备份不是越多越好,如果磁盘空间不够用,我需要保留近一个周的备份就可以了,那就需要删除备份脚本了,特别注意删除操作比较危险,变量传参要进行二次确认。

    下面给出删除备份参考脚本:

    #!/bin/bash
    #delte mysql back of 7 days ago
    #Author:jzd
    #Version:1.0
    
    #mysql back directory
    back_dir="/back"
    
    #expire days
    expire_day=7
    
    if [ x"${back_dir}" != "x" -a ${expire_day} ]; then
      cd ${back_dir} && find ${back_dir} -maxdepth 1 -type d -ctime +${expire_day} -name "20*-*-*_*" -exec rm -rf {} ;
    fi
    
    exit $?
    

     拓展:我这边每天有采集数据的脚本在运行,日志分别在不同的目录,但日志文件都是以日期命名的,时间长久会生成大量日志文件,我需要把它清除,下面是参考脚本:

    #!/bin/bash
    #删除日志脚本,以文件修改日期为依据,删除大于过期天数的文件
    #2017-02-13  Auth:jzd  Ver:1.0
    
    #程序目录
    pwd="/home/aixtest/del_log"
    #要删除的文件所在目录,每行一个目录
    file_dir="$pwd/del_file_dir"
    #文件过期天数
    expire="15"
    
    if [ ! -d ${pwd} ]; then
      mkdir -p ${pwd}
    fi
    
    if [ ! -s ${file_dir} ]; then
      echo "请检查是否在${file_dir}文件配置文件所在目录."
      exit 1
    fi
    
    cd $pwd
    
    while read dir
      do
        if [ ! -d ${dir} ]; then
          "请检查是否纯在${dir}目录."
          exit 1
        fi
    
        cd ${dir} && find . -type f -mtime +15 -name "20*-*-*_*" -exec rm -rf {} ;
    
    done < ${file_dir}
    
    exit $?
    

    存放目录的文件del_file_dir,后面有类似的情况,往文件中添加目录绝对路径就OK了:

    /home/dir1
    /home/dir2
    /home/dir3
    /home/dir4
    

    总结:删除本身就是危险操作,如果在脚本中做删除操作,通过变量传递参数,那就更危险了,一定要进行二次确认,防止获取变量为空造成的误删。

  • 相关阅读:
    P7771 【模板】欧拉路径
    远程服务器运行代码命令(后台执行 及时输出)
    服务器显存溢出
    指定python环境下pip安装包
    语音信号处理
    Es 常用命令
    MySQL常用命令
    Mysql数据按天分区,定期删除,及分区索引
    查看Mysql正在执行的事务、锁、等待
    git忽略提交文件 IT
  • 原文地址:https://www.cnblogs.com/jjzd/p/6677854.html
Copyright © 2011-2022 走看看