当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 双机(多机)自动互备份方案

Unix/Linux
Linux 下采用软件实现RAID
汉化你的RedHat全攻略(2)- TrueType字体的使用
汉化你的RedHat全攻略(3)- RedHat 7.0上的中文环境和输入法
汉化你的RedHat全攻略(4)- FAQ和一些总结
Linux与其他操作系统的区别
为什么我用 ipchains 构建的子网里的机器不能用 ftp?
轻轻松松的安装Slackware Linux -- 0.自序,观念篇
Linux命令Man解释:ftpaccess(5) :ftpd 的配置文件
Linux命令Man解释:chsh :更换你登入时所用的shell
Linux命令Man解释:chfn :改变你的finger讯息
Linux命令Man解释:apropos :在whatis资料库中搜寻特定字串
X-Window中如何设置字体
rpm命令参数列表
汉化你的RedHat全攻略(1)- 中文环境和中文输入法的安装
Linux命令Man解释:MIRROR:镜像远端节点上的档案
Linux命令Man解释:losetup :设定与控制loop devices
Linux命令Man解释:lilo :安装引导装载程序
Linux命令Man解释:groupmod :修改组
Linux命令Man解释:shutdown:让系统关机
Linux命令Man解释:SUDO(8):以root身份执行指令

Unix/Linux 中的 双机(多机)自动互备份方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 90 ::
收藏到网摘: n/a

  关 键 字: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
            [email protected]