Shell实现MySQL定期备份策略小脚本


     很多生产上的MySQL数据库都是直接放在Linux服务器上的,用Shell在服务器上做dump备份最简捷直接。如下小脚本,放到定时任务(crontab)中,就可实现每日备份并保留最近7日dump数据的功能。

#! /bin/bash
# Author    :
# create_ts :
# program   : do a db dump
#
# __init__
ts_delete=$(date --date='7 days ago' +%Y%m%d)  # delete time -7 day
ts_create=$(date +%Y%m%d)  # dump time +0 today
#
dp_ofpath=/dump/  # dump directory
#
dt_ofpath=${dp_ofpath}${ts_delete}  # delete file
ct_ofpath=${dp_ofpath}${ts_create}  # create file
#
#
# delete -7
if [ -d ${dt_ofpath} ]; then
    rm -rf ${dt_ofpath}
else
    > /dev/null
fi
#
#
# dump   +0
mkdir -p ${ct_ofpath}
if mysqldump -h -u -p --single-transaction --skip-lock-tables --set-gtid-purged=OFF --routines --triggers --events --databases mydb > ${ct_ofpath}/mydb.sql
   then > /dev/null
else
        echo -e "\n $(date) ←  dump failed \n" 1>> ${dp_ofpath}err.log
fi
     如果要跨服务器进行MySQL表数据传输,参考: http://blog.csdn.net/sweeper_freedoman/article/details/53012522


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值