2012-08-24 38 views
-1

我有一個腳本,我每天晚上在我的網絡服務器上運行,將所有內容從實時存儲複製到後端存儲。我目前正在測試,但它不會以我需要的方式工作 - 基本上我需要將實時存儲的完整備份存儲到備份存儲中,以便在實時更改中顯示備份存儲中的任何更改。有什麼不起作用的是,如果有人在備份存儲中進行更改,那麼這些數據應該被寫入實時數據?Rsync - 變化似乎沒有攜帶

它似乎沒有工作 - 我做了rsync交換機出了什麼問題?只要你知道它的abouts 300G的數據被複制

感謝

#!/bin/bash 

#Nightly RYSNC backup script 


RSYNC=`which rsync` 
SOURCE="/mnt/sdb1" 
TARGET="/mnt/sdc1" 
MAIL_ADDR="[email protected]" 
OPTS="-vaz --exclude=/sdb1/lost+found --exclude=/sdb1/home/temp --exclude=/sdb1/temp/_tmp" 

cat /dev/null > /tmp/rsync-errors.txt 

nohup $RSYNC $OPTS $SOURCE $TARGET >> /var/log/rsync-raw-out.txt 2>> /tmp/rsync-errors.txt 


if [ -s '/tmp/rsync-errors.txt' ]; then 
    mail -s "Errors on $HOSTNAME" < /tmp/rsync-errors.txt $MAIL_ADDR 
else 
    echo "Successful, no errors reported." | mail -s "Nightly Report for $HOSTNAME" $MAIL_ADDR 
fi 
+2

沒有人應該對備份進行更改。 – choroba

+0

這是違法的。 – Satish

+0

除非你明確地告訴它,'rsync'將默認不覆蓋目標端所做的更改。正如其他答案/評論中提到的那樣,您可以給它額外的選項來覆蓋事物並使其成爲一個合適的鏡像,但最好的答案是從未有任何需要覆蓋的更改。 – twalberg

回答

0

你嘗試:

rsync -avz --delete 
0

你可能想尋找到一個名爲 「rbme」

程序http://sourceforge.net/projects/rbme/

這使得圍繞rsync的包裝和創建一個通過最後一次備份中的第一個硬連接來進行「每日」備份,然後在其之上進行路由。它/看起來/好像你有一個檔案完全備份,但只是爲實際改變獲取磁盤空間。

它還內置了日誌記錄和電子郵件功能。