mysql的本地备份和双机相互备份脚本
自己写的,大家多指教.
mysqldump_all.sh [first|local|help}
先修改脚本进行必要的配置,然后以root用户执行.
1.第一执行远程备份时先用 first参数.
2. 本地备份用local参数
3. 远程备份不用参数<注意1>
注意:需要在另一主机上的Mysql用户用添加用户..
需要配置的地方:
# define host and mysql passwordREMOTE_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 # 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" # thissaid 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 walteyh@sohu.com"; fi # Ended all backup opretion! echo ""; echo "Note: if there is come wrong message white MySQL, you should check your configure first!"; exit
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐