电脑技术学习

双机(多机)自动互备份方案

dn001
关;键;字:shell;ftp;tar;mysql;;crontab

问;;;;题:我们公司有两台LINUX服务器,每个服务器只有一个硬盘。所以
备份的问题就显得特别重要。我们装有mysql数据库。当然同时也要解
决mysql备份的问题。

目;;;的:host;机器(最终所有备份都在其上留备份)ship机器(保存host机器备份)

方;;;法:通过shell脚本,打包相关要备份的文件。然后通过ftp操作下载,上载完成解决方案。
两台机器root;通过crontab;让脚本在各自机器定时。
建议host;每天早上3点
建议ship;每天早上6点
注意点:
两台服务器系统时间最好相差不要超过1小时。
此脚本是每周礼拜6执行备份的。当然你也可以修改成每月或每天备份。
当然也可以修改成一个增量备份脚本。

具体脚本:
以下为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;<;$BACKUPDIR/$COMPUTER-mysqldata-$DM.tar.gz
fi
########################################################################

Jp

jinjidong
j_p@163.net

标签: