• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL的本地备份和双机相互备份脚本

mysql 搞代码 4年前 (2022-01-09) 14次浏览 已收录 0个评论

先修改脚本进行必要的配置,然后以root用户执行. 1. 第一执行远程备份时先用 first参数. 2. 本地备份用local参数 3. 远程备份不用参数注意1 注意:需要在另一主机上的Mysql用户用添加用户.. 需要配置的地方: # define host and mysql password REMOTE_HOST=””

先修改脚本进行必要的配置,然后以root用户执行.

1. 第一执行远程备份时先用 first参数.
2. 本地备份用local参数
3. 远程备份不用参数
注意:需要在另一主机上的Mysql用户用添加用户..
需要配置的地方:

# define host and mysql password
REMOTE_HOST=”” #远程主机名或IP
REMOTE_PASSWORD=”” #远程主机的mysql中的root@本地主机 密码.
# define database path
DB_PATH=”/var/lib/mysql” #本地mysql数据库路径
LOCAL_PASSWORD=”” #本地mysql root用户密码
DB_BACKUP_PATH=”/root/db_bk” #本地备份时数据保存的路径
NO_BACKUP_DB=”” 设置本地数据库中不想备份的数据库名,用空格隔开
直接下载

#!/bin/sh
# mysqldump_all.sh
本文来源gaodai$ma#com搞$$代**码)网@# this scripts is used to backup MySQL database bettwen tow MySQL SERVER!
# define host and mysql password
REMOTE_HOST=””
REMOTE_PASSWORD=””
# define database path
DB_PATH=”/var/lib/mysql”
LOCAL_PASSWORD=””
DB_BACKUP_PATH=”/root/db_bk”
# define which database no back up, write db anme escap whit space!
# example;
# NO_BACKUP_DB=”yns test ps_note”
# this said that if db name is “yns” or “test” or “ps_note”, then not backup them!
NO_BACKUP_DB=””
# get the database name and process one by one
echo “Start to Backup…”;
#ls /var/lib/mysql > /tmp/mydb.all
if [ “$1” != “help” ]; then
for db in `ls $DB_PATH`; do
if_backup=”1″
if [ -d $DB_PATH/$db ] ; then
for noBackDB in $NO_BACKUP_DB ; do
if ( test “$db” = “$noBackDB” ); then
#echo -n “…”;
if_backup=””;
fi
done
if [ $if_backup ]; then
case “$1” in
first)
echo -n “Crate db [ $db ] on $REMOTE_HOST first!”
result=`mysqladmin -h $REMOTE_HOST –password=$REMOTE_PASSWORD create $db`
if [ ! $result ]; then
echo “…Done!”;
else
echo “…Fialed! check your configure plz!”;
echo “Remote host said: $result”;
exit
fi
;;
local)
# back up to localhost dir.
if [ ! -d $DB_BACKUP_PATH ]; then
mkdir $DB_BACKUP_PATH
fi
echo -n “[ $db ]….Backup to local$DB_BACKUP_PATH with gzip”;
if [ -e “$DB_BACKUP_PATH/$db.gz” ]; then
mv $DB_BACKUP_PATH/$db.gz $DB_BACKUP_PATH/$db.1.gz;
fi
mysqldump –password=Walte#Ming $db | gzip > $DB_BACKUP_PATH/$db.gz
echo “…[OK]”
;;
*)
# Do common Backup!
echo -n “[ $db ]…Do Backup! ====>> $REMOTE_HOST/$db”;
mysqldump –add-drop-table $db –password=$LOCAL_PASSWORD | mysql -h $REMOTE_HOST –password=$REMOTE_PASSWORD $db
echo “….[OK]”;
esac
else
echo “[ $db ]”;
echo “***This database set to Not backup!…Operation CANCELED!”;
fi
else
echo “[ $db ]”;
echo “***Warning! Not a DataBbase. Backup Canceled***”;
fi
done
else
echo “Usage: mysqldupm_all.sh [firs|local|help]”;
echo “Some question ask for href=”mailto:[email protected]”;”>[email protected]”;
fi
# Ended all backup opretion!
echo “”;
echo “Note: if there is come wrong message white MySQL, you should check yourconfigure first!”;
exit


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL的本地备份和双机相互备份脚本
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址