rsync異地備份

 

  
主要有兩種方法
1使用ssh通道指令格式為rsync option user@remoteserver:/dir /localdir
ex:將am.mine.nu的/home目錄透過ssh備份到本機/tmp/home
rsync -av -e ssh [email protected]:/home /tmp/home

2使用rsync server以下說明主要以此為主

rsync server設定方式
1設定/etc/rsyncd.conf,格式如下
[modulename]option=value

option有以下:
use chroot = no #不使用chroot
max connections = 4 #最大連接數為4 
log file = /var/log/rsyncd.log #紀錄檔位置
path = /tmp/back #備份過來的檔案要放置的目錄
auth users = rcopy #授權的帳號,與系統上的帳號無關,名稱可自訂,若無表匿名
secrets file = /etc/rsyncd.secrets #指定secrets file位置
comment = describe #註解
ignore errors #可以忽略一些無關的IO錯誤
read only = yes #只讀
list = no #不允許列文件 
hosts allow = 192.168.0.1 localhost #允許使用的client
dont compress = yes #視需求決定是否壓縮

ex:
[copy1]path = /tmp/back 
auth users = rcopy
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no

1.1
設定secrets file
檔案格式為authuser:authkey
ex:
rcopy:abcd

1.2
設定好此檔後將此檔的擁有者與群組設成root,權限為600
ex:
chown root.root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

2啟動rsync server
方法有以下兩種

方法A使用xinet的rsync
1
設定xinet的rsync
# default: off
# description: The rsync server is a good addition to am ftp server, as it 
# allows crc checksumming etc.
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

2
啟動
service xinetd restart

方法B直接使用rsync做server
rsync --daemon --port=873 --config=/etc/rsyncd.conf
rsync client設定方式
linux client設定如下
指令為:rsync option source_path dest_path
option常用為-av,若要指定密碼檔則用--password-file
path若要指向server格式為authuser@rsyncserver::modulename

ex:用am.mine.nu的rsync server的模組copy1來備份本地端root的目錄,認證帳號為rcopy,密碼放在/root/rsyncdkey
rsync -av --delete --password-file=/root/rsyncdkey /root [email protected]::copy1
ex:同上,但是從am.mine.nu的rsync server備份到本地端

ps:/root/rsyncdkey內只需放密碼即可
ps:/root/rsyncdkey的權限需設定600
ps:可用crontab指定時間定期備份

xp clinet設定如下
需先安裝cwrsync client版,安裝成功後rsync.exe預設會在C:Program FilescwRsyncbin
指令和linux client差不多,但dir部份,格式為/cygdrive/<硬碟代號>/<目錄>
ex:
"C:Program FilescwRsyncbinrsync.exe" -av --delete --password-file=rsynckey.txt /cygdrive/e/test [email protected]::copy1
ps:rsynckey.txt需放在cwRsync目錄下,且以上指令需在cwRsync目錄下執行

rsync的option如下-v :觀察模式,可以列出更多的資訊
--progress :可顯示進度
-q :安靜模式,輸出的資訊比較少
-a :等同於-rlptgoD
-r :遞迴複製!可以針對『目錄』來處理!很重要!
-l :複製連結檔的屬性,而非連結的目標原始檔案內容;
-p :複製時,連同屬性 (permission) 也保存不變!
-t :保存原始檔案的時間參數;
-g :保存原始檔案的擁有群組;
-o :保存原始檔案的擁有人;
-D :保存原始檔案的裝置屬性 (device)
-R :使用相對路徑訊息
-u :僅更新,不會覆蓋目標的新檔案;
-I :忽略更新時間mtime的屬性,檔案比對會較快;
-z :使用壓縮
-e :使用的通道協定,例如使用 ssh 通道,則 -e ssh
--delete 若client端的文件被刪除,server端的文件也一併刪除,保持一致
--password-file 指定密碼檔

轉貼文件(我從別的網站copy來的)
http://systw.net/note/af/sblog/more.php?id=122
rsync -av --delete --password-file=/root/rsyncdkey [email protected]::copy1 /root   

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料