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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值