发信人: zhcharles(小传)
整理人: zhcharles(2002-01-30 15:53:44), 站内信件
|
双机(多机)自动互备份方案:
关键字:shell ftp tar mysql crontab
问 题:我们公司有两台LINUX服务器,每个服务器只有一个硬盘。所以
备份的问题就显得特别重要。我们装有mysql数据库。当然同时也要解
决mysql备份的问题。
目 的:host 机器(最终所有备份都在其上留备份)
ship机器(保存host机器备份)
方 法:通过shell脚本,打包相关要备份的文件。然后通过ftp操作下载,
上载完成解决方案。
两台机器root 通过crontab 让脚本在各自机器定时。
建议host 每天早上3点
建议ship 每天早上6点
注意点:
两台服务器系统时间最好相差不要超过1小时。
此脚本是每周礼拜6执行备份的。当然你也可以修改成每月或每天备份。
当然也可以修改成一个增量备份脚本。
其他:
任何问题沟通请联系[email protected] 欢迎交流
具体脚本:
以下为host机器脚本
#//////////////////////////////////////////////////////host机器脚本//////////////////////////////////////////////////////////////////////
#! /bin/sh
HOST="abc.com"
USER="backup_use" #ship机器backup_use用户
PASSWORD="backup_use" #ship机器对应用户密码
BACKUPDIR="/home/backup_use/ship" #host机器backup_use用户目录
BACKUPDIR2="/home/backup_use/host" #host机器backup_use用户目录
MYSQLPASS="abc" #ship 机器mysql root 用户密码
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/nusphere/mysql/bin
DOW=`date +%a`
DM=`date +%Y%b%d`
FILE1=ship-virtual-$DM.tar.gz
FILE2=ship-mysqldata-$DM.tar.gz
FILE3=ship-szeasy-$DM.tar.gz
FILE4=ship-other-$DM.tar.gz
#
FIL1=$BACKUPDIR2/host-main-$DM.tar.gz
FIL2=$BACKUPDIR2/host-mysqldata-$DM.tar.gz
FIL3=$BACKUPDIR2/host-other-$DM.tar.gz
#
DIRECTORIE1="/www /home/jjd" # 要备份的目录1
DIRECTORIE2="/etc /var/named /usr/local/nusphere/apache/conf" # 要备份的目录2
#
if [ $DOW = "Sat" ]; then # 每个礼拜六完全备份
tar -zcpf $FIL1 $DIRECTORIE1
tar -zcpf $FIL3 $DIRECTORIE2
mysqldump --all-databases -q -uroot -p$MYSQLPASS |gzip > $FIL2
ftp -i -n <<HERE
open $HOST
user $USER $PASSWORD
get $FILE1 $BACKUPDIR/$FILE1
get $FILE2 $BACKUPDIR/$FILE2
get $FILE3 $BACKUPDIR/$FILE3
get $FILE4 $BACKUPDIR/$FILE4
cd host
put $FIL1 host-main-$DM.tar.gz
put $FIL2 host-mysqldata-$DM.tar.gz
put $FIL3 host-other-$DM.tar.gz
cd ..
del $FILE1
del $FILE2
del $FILE3
del $FILE4
close
quit
HERE
# rm -rf $FIL1
# rm -rf $FIL2
# rm -rf $FIL3
fi
以下为host机器脚本
#//////////////////////////////////////////////////////ship机器脚本//////////////////////////////////////////////////////////////////////
#!/bin/sh
COMPUTER="ship" # 计算机名称
DIRECTORIE1="/home/virtual_host" # 要备份的目录
DIRECTORIE2="/www/htdocs/shenzhen"
DIRECTORIE3="/etc /var/named /usr/local/nusphere/apache/conf"
BACKUPDIR="/home/backup_use" # 储存备份的目录
MYSQLPASS="ship" #ship 机器mysql root 用户密码
#You should not have to change anything below here
PATH=/usr/local/bin:/usr/bin:/bin
DOW=`date +%a` # Day of the week e.g. Mon
DM=`date +%Y%b%d` # Date and Month e.g. 27Sep
if [ $DOW = "Sat" ]; then # 每个礼拜天完全备份
tar -zcpf $BACKUPDIR/$COMPUTER-virtual-$DM.tar.gz $DIRECTORIE1
tar -zcpf $BACKUPDIR/$COMPUTER-szeasy-$DM.tar.gz $DIRECTORIE2
tar -zcpf $BACKUPDIR/$COMPUTER-other-$DM.tar.gz $DIRECTORIE3
mysqldump --all-databases -q -uroot -p$MYSQLPASS |gzip > $BACKUPDIR/$COMPUTER-mysqldata-$DM.tar.gz
fi
----
A:哦,这是您新版的女朋友吗?
B:是呀!
A:在哪下载的?
B:就在“美女.com” 罗!
A:快不快?
B:用宽频的话,也要等一个多小时!
A:我怎么下载不了?
B:美女不是这样下载的!
A:难道要腰马合一?
B:对!
A:哦,听讲这网站要收费的!
B:是呀!现在网络泡沫爆破,个个都说“天下没有白吃的午餐”。
A:也是呀!您用完借给我可以吗?
B:这可是盗版呀!
A:没问题啦!现在到处是盗版啦!这不是 OEM 别个网站的吧?
B:应该不是吧!其实我也不太清楚!
A:哦,那好吧。用完记得借给我!!!
B:好的。
--
情越真,妒越深。夜半哀音,传奇一生!
小传 ( Charles Feng ) [email protected] OICQ:17866295
|
|