rsync的基本使用方法

這麼基本的問題,很久沒被問過了

怎麼裝就不提了,rsync~基本上有兩種用法:

1. 資料端電腦開啟 rsyncd
以下請sudo -s 成root
再開始設定:
先編輯設定檔:以下是範例;#後面接的是註解

address = 10.1.1.100   # 你要把rsyncd開在哪個ip上,建議不要開在public ip
pid file = /var/run/rsyncd.pid   # pid file 所在,ubuntu可能可以省,不過個人習慣加上去
use chroot = yes   # 這個建議加上去,因為可以限制只能對下面設定的目錄進行同步
log file = /var/log/rsyncd.log   #記錄檔

#下面是設定哪些路徑可以跟遠端同步
[backup]    # 命名,此名稱為遠端連線時要用
path = /home/acman/bin/  # 路徑
read only = false  #是否為唯讀,此為否,代表遠端不只能抓,也能改;如果是 read only = true ,就代表遠端只能抓不能改
uid = 1000  # 連線時使用的帳號uid
gid = 100   # 連線時使用的帳號群組 gid
hosts allow = 10.1.1.100  #允許那個遠端ip連線過來
#[path2] 如果有其它路徑,就再用[...]開始設另一個

此部份ubuntu限定
接下來是設定讓rsyncd可以啟動:
gedit /etc/default/rsync
把"RSYNC_ENABLE=true" 改成"RSYNC_ENABLE=false"

然後就可以啟動rsyncd了:
/etc/init.d/rsync start

最簡單的使用方法,在客戶端下指令:
rsync -av 10.1.1.100::backup backup/
# 第一個backup要和設定檔的[...]中的設定一致;後面的backup/就看你要備份到哪裡了

如果你設定 read only = false的話,你還可以反向備份,就是把客戶端的東西備份上去:
rsync -av mydata/ 10.1.1.100::backup/mydate
這樣就會把客戶端的mydata目錄,直接備到server上的/home/acman/bin/mydata/底下了;這邊要注意的是,如果你是這樣下指令:
rsync -av mydata/ 10.1.1.100::backup/
那它會把mydata底下的檔案,備份到 /home/acman/bin/底下,不會另開一個目錄

rsync這個指令的好處是它會自行比對兩端的資料是不是一樣,只會傳輸有變動的資料
當然還有其它功能,如砍遠端檔案,或是忽略特定檔案或目錄等等

2.另外如果你不想要多開一個rsyncd服務的話, rsync指令也允許通過ssh來進行傳輸;不需要做上面那些設定:
只要遠端有開sshd,就可以備份遠端檔案或是將本地檔案備份過去
指令下法一樣,不過多了 "-e ssh",如下:
rsync -e ssh -av 10.1.1.100::backup backup/

rsync在實務上是很廣泛運用的服務,而且你還可以用它來做本機備份,就是把ip用localhost或127.0.0.1取代,可以備份同一台電腦的資料到另外一個路徑(硬碟)

本篇發表於 系統相關。將永久鏈結加入書籤。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

*