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

MySQL的本地备份和双机相互备份脚本 - 注册表 - 电脑教程网

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

日期:2007-09-11   荐:
先修改脚本进行必要的配置,然后以root用户执行.

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

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

#!/bin/sh# mysqldump_all.sh# this scripts is used to backup MySQL database bettwen tow MySQL SERVER!# define host and mysql passwordREMOTE_HOST=""REMOTE_PASSWORD=""# define database pathDB_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 oneecho "Start to Backup...";#ls /var/lib/mysql > /tmp/mydb.allif [ "$1" != "help" ]; thenfor db in `ls $DB_PATH`; doif_backup="1"if [ -d $DB_PATH/$db ] ; thenfor noBackDB in $NO_BACKUP_DB ; doif ( test "$db" = "$noBackDB" ); then#echo -n "...";if_backup="";fidoneif [ $if_backup ]; thencase "$1" infirst)echo -n "Crate db [ $db ] on $REMOTE_HOST first!"result=`mysqladmin -h $REMOTE_HOST --password=$REMOTE_PASSWORD create $db`if [ ! $result ]; thenecho "...Done!";elseecho "...Fialed! check your configure plz!";echo "Remote host said: $result";exitfi;;local)# back up to localhost dir.if [ ! -d $DB_BACKUP_PATH ]; thenmkdir $DB_BACKUP_PATHfiecho -n "[ $db ]....Backup to local$DB_BACKUP_PATH with gzip";if [ -e "$DB_BACKUP_PATH/$db.gz" ]; thenmv $DB_BACKUP_PATH/$db.gz $DB_BACKUP_PATH/$db.1.gz;fimysqldump --password=Walte#Ming $db gzip > $DB_BACKUP_PATH/$db.gzecho "...[OK]";;*)# Do common Backup!echo -n "[ $db ]...Do Backup!
[1] [2]  

====>> $REMOTE_HOST/$db";mysqldump --add-drop-table $db --password=$LOCAL_PASSWORD mysql -h $REMOTE_HOST --password=$REMOTE_PASSWORD $dbecho "....[OK]";esacelseecho "[ $db ]";echo "***This database set to Not backup!...Operation CANCELED!";fielseecho "[ $db ]";echo "***Warning! Not a DataBbase. Backup Canceled***";fidoneelseecho "Usage: mysqldupm_all.sh [firslocalhelp]";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

(出处:http://www.sheup.com)


 [1] [2] 

标签: