MySQL的本地备份和双机相互备份脚本:
首先,我们需要修改脚本进行必要的配置,然后以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
# 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)