mysql常规的备份脚本

2年前 (2016-03-30) admin mysql 0评论 已收录 493℃

mysql常规的备份脚本

#!/bin/bash
# 常规定义
MYSQL_USER="你的数据库账号"
MYSQL_PASS="你的数据库密码"
baidupan_DIR="/backup/$(date +%Y-%m-%d)"
BACK_DIR="bdbackup"
# 备份网站数据目录
NGINX_DATA="/usr/bin/php"
BACKUP_DEFAULT="/home/wwwroot"
# 定义备份文件名
mysql_DATA=baiyiba_mysql_$(date +"%Y%m%d").tar.gz
www_DEFAULT=baiyiba_default_$(date +%Y%m%d).tar.gz
nginx_CONFIG=baiyiba_nginx_$(date +%Y%m%d).tar.gz
# 判断本地备份目录,不存在则创建
if [ ! -d $BACK_DIR ] ;
then
mkdir -p "$BACK_DIR"
fi

# 进入备份目录
cd $BACK_DIR

# 备份所有数据库
# 导出需要备份的数据库,清除不需要备份的库
mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' > databases.db
sed -i '/performance_schema/d' databases.db
sed -i '/information_schema/d' databases.db
sed -i '/mysql/d' databases.db

for db in $(cat databases.db)
do
mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz
done

# 打包数据库
tar -zcvf $mysql_DATA *.sql.gz

# 打包本地网站数据
tar -zcvf $www_DEFAULT $BACKUP_DEFAULT

# 打包Nginx配置文件
tar -zcvf $nginx_CONFIG $NGINX_DATA/*.conf

# upload
cd ~
/root/baidubeifen/bpcs_uploader.php upload $BACK_DIR/$nginx_CONFIG $baidupan_DIR/$nginx_CONFIG
/root/baidubeifen/bpcs_uploader.php upload $BACK_DIR/$mysql_DATA $baidupan_DIR/$mysql_DATA
/root/baidubeifen/bpcs_uploader.php upload $BACK_DIR/$www_DEFAULT $baidupan_DIR/$www_DEFAULT

# Delete all local backup
rm -rf $BACK_DIR

exit 0

博主

让学习成为习惯,坚持-共享-开源-自由! 成功者决不放弃,放弃者绝不成功!

相关推荐

嗨、骚年、快来消灭0回复。