使用rsync進行備分
ilmare| May 4, 2007 11:15 am備份資料是很重要的事情,因為永遠不知道硬碟什麼時候會壞掉,就算有了SMART(Self-Monitoring Analysis and Reporting Technology)技術,還是不能保證硬碟什麼時候一定壞,至於為何選用rsync?因為需求為可以透過網路,快速且安全。以下是在Fedora的系統運作的。
先透過rpm指令檢查是否已經安裝
rpm -qa | grep rsync
若無安裝,直接用yum進行安裝即可
yum install rsync
以下是需要規劃的部分:
1. 使用那個目錄做為備份的區域
2. 編輯設定檔
rsync server的設定檔預設是/etc/rsyncd.conf
[mypc]
path = /my_backup
auth users = mypc_backup
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[mypc] -> 預備份的主機名稱,自己看的懂就好
path -> 在備份主機的那個目錄下放置備份的檔案
auth users -> 用來認證用的帳號名稱
secrets file -> 存放認證用的帳號名稱與密碼檔的位置
密碼檔/etc/rsyncd.secrets的格式如下:
mypc_backup:my_passwd
my_passwd需自行更換成自己要的
權限部分,請讓/etc/rsyncd.conf與/etc/rsyncd.secrets的owner與group都是root。
檔案權限需為600
chown root.root /etc/rsyncd.conf /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.conf /etc/rsyncd.secrets
在Fedora的套件裡,rsync是由xinetd來管理啟動的,因此啟動設定檔為/etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
要注意的地方有兩處,disable = no,這樣才會啟動rsync,
另外server_args= –daemon,我們要rsync執行於daemon模式下。
之後請下指令重新啟動xinetd。
service xinetd restart
在Client端,大致有三個東西要作,設定密碼檔,執行rsync,寫入自動排程。
首先自訂一個密碼檔,例如叫做/root/rsyncd.secrets
內容只需放入server那邊設定的密碼即可,如
my_passwd
同樣的/root/rsyncd.secrets的權限也需要是600。
接著就可以使用rsync指令來測試拉,
rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets
/backup_dir mypc_backup@server::mypc
–password-file -> 密碼檔的位置
/backup_dir -> Client端要備份的目錄
mypc_backup -> 登入rsync Server的帳號,請與Server設定一致。
server -> 因為是透過網路,因此這邊要寫可以連上Server的hostname或是簡名(/etc/hosts中有設定的)
mypc -> 使用Server端的哪一個備份的設定區塊,這邊需與Server端一致
-rvlHpogDtS -> 設定的flag,解說如下
r -> 遞迴的進入每個子目錄,表示你所設定備份目錄之下的所有子目錄都會被備份到
v -> 顯示執行過程的訊息
l -> 如果檔案是link模式,也一併拷貝link
H -> 若檔案為hard link,就保持原本的模式
p -> 保持原本檔案的權限
o -> 保持原本檔案的擁有者權限
g -> 保持原本檔案的group群組
D -> 保持device的屬性 (root only)
t -> 保持檔案時間的設定
S -> 有效的處理稀疏的檔案結構
參考文獻:
1. OLS3 的備份的方法 3 : 使用 rsync
2. rsyncd.conf 手冊
3. rsync指令手冊
Categories: 備份相關, 軟體系統
2 Comments »

Recent Comments