MySQL数据库备份脚本

1.脚本内容

单独的脚本

#!/bin/sh
if [ $# != 4 ]; then
        echo "Usage: $0 db_host db_user db_pwd db_name"
        exit
fi
prefix=`date +"%Y%m%d%H%M%S"`
filePath="/root/dbBackup/"`date +"%Y%m"`/"$4"/"$prefix"/
if [ ! -d "$filePath" ]; then
        mkdir -p "$filePath"
fi

dbfile="$prefix"_"$4".sql
mysqldump -h $1 -u$2 -p$3 $4 > "$filePath""$dbfile"
cd "$filePath"..
tar czf "$prefix".tar.gz "$prefix"/  --remove-files


All脚本

#!/bin/sh
prefix=`date +"%Y%m%d%H%M%S"`
filePath="/root/dbBackup/"`date +"%Y%m"`"/all/""$prefix"/
if [ ! -d "$filePath" ]; then
        mkdir -p "$filePath"
fi

db1="$prefix"_db1.sql
db2="$prefix"_db2.sql
mysqldump -h 10.2.176.129 -ufhdev -p#=F0KYIqUk db1 > "$filePath""$db1"
mysqldump -h 10.2.176.129 -ufhdev -p#=F0KYIqUk db2 > "$filePath""$db2"
cd "$filePath"..
tar czf "$prefix".tar.gz "$prefix"/  --remove-files

还可以使用

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

2.crontab 任务

# 分 时 日 月 周 命令
30 0 * * 0-4 /root/dbBackup/dbbk_all.sh > /dev/null 2>&1
30 7,12,15,18 * * 1-5 /root/dbBackup/dbbk_single.sh db_host db_user "passwd" db2 > /dev/null 2>&1

周一到周五,每天晚上12:30全部备份
周一到周五,每天7:30, 12:30, 15:30, 18:30 启动任务单独备份某个库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值