数据库定期备份

在对数据库进行运维的时候,有的时候需要经常备份数据库中的数据中,今天分享一个实例吧!

为了便于演示,我将时间缩小了,然后定义如下的案例:每1分钟对数据库的test库进行备份并进行压缩,并删除3分钟前备份的文件。

  • 1、编写Shell脚本

    创建bak.sh脚本,获取3分钟前的时间点和当前时间,然后使用mysqldump工具导出数据,进入/data目录,将导出的文件进行压缩,删除导出的文件,如果压缩的文件是3分钟前备份的,就删除之。

#!/bin/bash
old=`date -d '-3 minute' +%Y%m%d%H%M` 
tod=`date +%Y%m%d%H%M`

/usr/local/mysql/bin/mysqldump -uroot -p1234 -B test > /data/test.sql
cd /data
tar zcf /data/$tod.tar.gz test.sql
rm -rf /data/test.sql

if [ -f /data/$old.tar.gz ]
then
 rm -rf /data/$old.tar.gz
fi                    
  • 2、设置定时任务
    众所周知,在Linux中设置定时任务为crontab。

使用下面命令进入任务编辑模式:

[root@VM_202_250_centos data]# crontab -e

定义如下的一行:

*/1 * * * * /bin/bash /data/bak.sh > /dev/null 2>&1

意思:每1分钟执行/data/bak.sh脚本文件

执行结果:

[root@VM_202_250_centos data]# ll
total 16
-rw-r--r-- 1 root root 612 Jan 22 20:15 201701222015.tar.gz
-rw-r--r-- 1 root root 614 Jan 22 20:16 201701222016.tar.gz
-rw-r--r-- 1 root root 613 Jan 22 20:17 201701222017.tar.gz
-rw-r--r-- 1 root root 275 Jan 22 18:13 bak.sh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值