mysql备份脚本

mysql备份脚本且只保留5天(已经经过测试)

#!/bin/bash

#mysql_bask.sh: backup mysql databases and keep newst 5 days backup.

#------------------------------------------

db_user="root"

db_passwd="123456"

db_host="localhost"


#the directory for story your backup file.

backup_dir="/back"


#date format for backup file (dd-mm-yy)

time="$(date +"%d-%m-%Y")"


#mysql,mysldump and some other bin's path

MYSQL="$(which mysql)"

MYSQLDUMP="$(which mysqldump)"

MKDIR="$(which mkdir)"

RM="$(which rm)"

MV="$(which mv)"

GZIP="$(which gzip)"


#check the directory for store backup is writeable

test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0


#the directory for story the newest backup

test ! -d "$backup_dir" && $MKDIR "$backup_dir"


#get all databases


#$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd -A --events | $GZIP -9 > "$backup_dir/$time.$db.gz"


#each libaray separately backup

all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse 'show databases')"

for db in $all_db

do

$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/$time.$db.gz"

done


#delete the oldest backup 30days age

find $backup_dir -name "*.gz" -mtime +30 | xargs rm -rf


exit 0;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值