關 鍵 字: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]