• 删除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
    

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

  • 相关阅读:
    docker下用keepalived+Haproxy实现高可用负载均衡集群
    Centos 7 搭建蓝鲸V4.1.16社区版
    IDEA中Thrift插件配置
    idea打包java可执行jar包
    CentOS7 docker.repo 用阿里云Docker Yum源
    linux 配置maven环境变量
    Linux中修改docker镜像源及安装docker
    Spring-boot和Spring-Cloud遇到的问题
    IntelliJ Idea 常用快捷键列表
    Invocation of destroy method failed on bean with name ‘XXXX’
  • 原文地址:https://www.cnblogs.com/jjzd/p/6677854.html
Copyright © 2020-2023  润新知