rsync

使用 rsync 上傳備份資料

 

 

http://linux.vbird.org/linux_server/0310telnetssh.php#rsync

rsync 的傳輸方式至少可以透過三種方式來運作:

其實三種傳輸模式差異在於有沒有冒號 (:) 而已,本地端傳輸不需要冒號,透過 ssh 或 rsh 時,就得要利用一個冒號 (:), 如果是透過 rsync daemon 的話,就得要兩個冒號 (::)?

 

 

http://linux.vbird.org/linux_basic/0580backup.php#remote

另一個更簡單的方法就是透過 rsync ,但是你必須要在你的伺服器上面取得某個帳號使用權後, 並讓該帳號可以不用密碼即可登入才行!這部分得要先參考伺服器篇的遠端連線伺服器才行! 假設你已經設定好 dmtsai 這個帳號可以不用密碼即可登入遠端伺服器(下面說明),而同樣的你要讓 /backup/weekly/ 整個備份到 /home/backup/weekly 底下時,可以簡單這樣做:

#!/bin/bash

# /backup/rsync.sh

remotedir=/home/backup/

basedir=/backup/weekly

host=127.0.0.1

id=dmtsai

# 底下為程式階段!不需要修改喔!

rsync -av -e ssh $basedir ${id}@${host}:${remotedir}

 

在local端的設定

http://www.vixual.net/blog/archives/186

 

local端所需要做的僅是執行?/usr/bin/rsync,rsync 做為同步處理時,常用的參數如下:

 

本地端的密碼檔也是純文字檔,同樣是使用明碼,就是備份伺服器所設定的那個密碼。例如我的密碼檔放在?/etc/rsync_client.passwd,那檔案的內容就只是用戶的密碼,也就是說若這local端有可能以一個以上的rsync帳號備份的話,密碼檔要再多製做一個不同名的。

 

新增密碼檔之後,同樣要將權限設為 600:

chmod 600 /etc/rsync_client.passwd

 

遠端同步的語法:

/usr/bin/rsync [-參數] [--參數] [--password-file=密碼檔位置] [本地端備份來源路徑] [用戶名稱@遠端備份伺服器位址::目標路徑]


如:

/usr/bin/rsync -avHP --delete --password-file=/etc/rsync_client.passwd /temp username@serv.sssh.tp.edu.tw::rsync/192.168.1.1_nblog