前言:前篇介绍了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

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

删除mysql备份文件的更多相关文章

  1. shell_sctipts: 删除mysql备份到最后7日

    目前,mysql的备份文件,经过一周左右清理,手动清理会比较费事,所以写了一个简单脚本来实现. 前提介绍: mysql备份文件放在/usr/bak/sql里面,sql文件的备份名称格式为: mysql ...

  2. Mac如何删除MySQL,Mac下MySQL卸载方法

    在Mac下安装完MySQL之后,出现了无法启动的问题,多翻尝试依然不能解决问题,最后只能把它删掉. 如何在Mac下删除MySQL呢,只需要在终端执行如下命令就可以把MySQL在Mac下彻底删除干净了. ...

  3. 彻底删除MySQL

    安装mysql数据库.最后一步APPLY SECURITY SETTINGS总是失败.感觉很郁闷.上网找了教程,有前四步,一一做了,发现还是不对.最近突然发现在环境变量那边的路径还没有卸载干净.可能我 ...

  4. Ubuntu彻底删除MySQL然后重装MySQL

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt- ...

  5. 删除mysql

    我以前遇到过删除mysql如果删除不干净的话,下次无法安装,也无法启动服务. 如今找到了解决方案 前言:只适用在Windows下--在控制面板中删除MySQL程序--然后在C盘中删除MySQL文件夹- ...

  6. Ubuntu彻底删除MySQL重装MySQL

    1.删除 mysql         sudo apt-get autoremove --purge mysql-server-5.0         sudo apt-get remove mysq ...

  7. php实例根据ID删除mysql表中的数据

    在动态网站开发中,我们经常要根据ID删除表中的数据,例如用户删除帖子,就需要根据ID删除帖子.本文章向大家介绍php根据ID删除表中数据的实例,需要的朋友可以参考一下本文章的实例. php实例根据ID ...

  8. 删除 mysql (rpm)

    http://blog.csdn.net/love__coder/article/details/6894566 a)查看系统中是否以rpm包安装的mysql [root@linux ~]# rpm  ...

  9. MySql相关及如何删除MySql服务

    又会一招–如何删除MySql服务 进入“控制面板->管理工具->服务”查看才发现,虽然MYSQL已经卸载了,但是MYSQL服务仍然残留在系统服务里.又不想改服务名,改怎么办呢. 后来上百度 ...

随机推荐

  1. java反射之获取枚举对象

    项目中导入大量枚举对象,用来定义常量.随着带来一个问题,就是每个枚举类都需要通过key来获取对应枚举的需求. public enum ExamType { CRAFT(1, "草稿" ...

  2. Oracle 12C -- Identity Columns(标识列)

    Identity Columns很适合数据库中需要"surrogate keys"的场景.依赖sequence产生器,每行的标识列会被赋予一个自增或自减的值.缺省,标识列在创建的时 ...

  3. mvc 使用预置队列类型存储异常对象

    using PaiXie.Utils; using System; using System.Collections.Generic; using System.Linq; using System. ...

  4. oracle数据库rman异地恢复

    自己想做两组rac之间的data guard,由于datafile,controlfile,甚至是archivelog都是存放在asm上的,直接复制数据有点不现实,asm磁盘总归都是要用的,所以想从a ...

  5. Python小游戏、小程序

    python 小游戏之摇骰子猜大小 python 实现一个双色球生成程序 python-循环与判断练习题

  6. TCP握手和传输的一次观察

    1. TCP三次握手SYN ---> <--- SYN,ACKACK ---> 花费时间:386.718-385.784=0.934ms 2.正常的消息交互2.1. 服务器主动校验 ...

  7. 手把手带你画一个 时尚仪表盘 Android 自己定义View

    拿到美工效果图.咱们程序猿就得画得一模一样. 为了不被老板喷,仅仅能多练啊. 听说你认为前面几篇都so easy,那今天就带你做个相对照较复杂的. 转载请注明出处:http://blog.csdn.n ...

  8. 【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  9. 基于axis1.4的webservice实例

    1.准备工作: 概念:SOAP(简单对象访问协议).WSDL(web服务描述语言).XML(可扩展标记语言).axis(阿帕奇可扩展交互系统) (1)     下载axis1.4,将axis1.4中的 ...

  10. Android 获取自带浏览器上网记录

    先是搜索了一下,在manifest里添加 <uses-permission android:name="com.android.browser.permission.READ_HIST ...