Rsync 簡要介紹
rsync 是一個用於增量文件傳輸的開源工具,不得不說,rsync簡直是不同服務器間傳輸文件、同步文件的利器。與FTP相比,它具有非常簡單的安裝和配置方法。而且,rsync可以只拷貝發生過變化的文件,這就讓傳輸效率非常高。如果你考慮安全問題,也可以通過 ssh 協議來進行傳輸。rsync 用來進行備份和鏡像也非常棒,它的這些特性可能是你非常需要的:
支持鏈接、屬主、屬組合權限的拷貝
支持包含或排出條件,類似 tar
不需要 root 權限
支持匿名或授權的 rsync server 模式
典型用法
rsync 可以用來同步本地與遠程服務器,包括將本地文件上傳至遠程服務器、將遠程文件同步到本地等等。
rsync local-file user@remote-host:remote-file
使用方法
rsync [OPTION] … SRC … [USER@]HOST:DEST
rsync [OPTION] … [USER@]HOST:SRC [DEST]
rsync --verbose --progress --stats --compress --rsh=/usr/local/bin/ssh
--recursive --times --perms --links --delete
--exclude "bak" --exclude "~"
/www/* webserver:simple_path_name
守護進程 rsync —daemon
以守護模式啟動rsync的命令為
rsync -daemon
守護進程必須使用具有root用戶權限的用戶啟動,如果使用其他用戶啟動,必須確保有相應的數據、日志文件權限。
Note that you should not send the rsync daemon a HUP signal to force it to reread the rsyncd.conf file. The file is re-read on each client connection.
配置文件 rsyncd.conf
文件包含模塊和參數,模塊的格式為[module_name],模塊包含的內容至到下一個模塊開始結束。配置文件是基於行的,每一行可能是模塊名稱、注釋或者參數。
全局參數
出現在配置文件前面的內容為全局參數,rsync也允許使用[global]的形式來指定全局參數。
1. motd file
表示message of the day文件配置,文件中的內容會顯示在每個鏈接建立后。具體形式為motdfile=FILE
2. pid file
為rsync指定pid。
3. port
默認端口為873,可以在配置文件中重新指定。
4. address
可以指定rsync監聽的地址。
模塊參數
1. comment
默認為空,展示在用戶獲取所有的模塊后,顯示模塊的描述信息。
2. path
該參數必須設置,指定模塊對應的文件夾位置。
3. use chroot
4. max connections
設置同時鏈接的數量。
5. log file
指定日志文件位置。
6. lock file
默認為 /var/run/rsyncd.lock,必須與 max connections 參數同時使用。用來記錄當前鏈接的數量。
7. read only
該參數指定客戶端能否向服務端上傳文件,默認為no。
8. write only
該參數指定客戶端能否從服務端下載文件。
無密碼同步的幾種方法
1.使用daemon方式
服務端以daemon方式啟動rsync。
客戶端使用指定 password-file 的方式實現不用密碼進行同步,如下:
rsync -arv —password-file=/etc/rsyncd.secrets /local_file user@remote_host::remote_module
參考資料
1、rsyncd.conf
2、rsync無密碼同步方法
3、rsync tutorial
4、wiki rsync
5、How rsync works