rsync
===
rsync 是一款遠程同步軟件 遠程同步功能的軟件,它在同步文件的同時,能夠保持原來文件的權限、時間、軟硬連接等附加信息 。
它採用C/S的方式進行同步,有人測試首次同步的時候速度較慢,後面同步的時候只同步更改的文件。(這讓我想到git,固然他們的目的不同)
- 問題1:在什麼狀況下用它?
- 問題2:如何使用,例如同步一個目錄到遠程?
先找一些資料
http://www.iteye.com/topic/604436
http://blog.csdn.net/caianye/article/details/6670750
http://www.cnblogs.com/itech/archive/2009/08/10/1542945.htmlhtml
http://everythinglinux.org/rsync/linux
原理
http://zh.wikipedia.org/wiki/Rsync
http://coolshell.cn/articles/7425.html
回答1: 我翻譯了的小段關於rsync的優勢和特色。git
Rsync 是一個易用易安裝的小工具。Rsync 不只是一個腳本化的FTP會話或者其餘形式的文件傳輸的腳本,它會僅拷貝被改變文件的差量部分,通過壓縮,並經過ssh協議安全的傳輸。這又一點拗口,但它意味着:shell
差量 - 僅僅實際被改變的文件片斷將被傳輸,而非整個文件。這使得更新更快速,這對慢速的調制解調器來講很是好。 FTP將會傳輸整個文件,哪怕只有1字節的改變。
安全
壓縮 - 小塊的差量片斷在傳輸過程通過壓縮,進一步節省傳輸的時間和網絡的負載。
服務器
安全的shell - 安全意識強的你確定會喜歡這一點,併爲此而使用它。rsync的流能夠經過ssh協議加密會話替代rsh,固然這是可選的(若是你不想用ssh,你能夠在/etc/inet.d 設置,並重啓inet的守護進程,這樣就關閉了它的安全性)
網絡
回答2:ssh
配置服務器端:tcp
hvn1:~ # cat /etc/rsyncd.conf strict modes=yes port = 873 gid = users log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid [test] uid=root gid=root path= /root/test read only = no write only = no hosts allow = * auth users = root secrets file = /etc/rsyncd.secrets
hvn1:~ # cat /etc/rsyncd.secrets
# user:passwd
root:hello123
hvn1:~ # ll /etc/rsyncd.secrets
-rw------- 1 root root 28 Sep 23 13:40 /etc/rsyncd.secrets
hvn1:~ # ps -ef | grep rsync root 27870 1 0 13:41 ? 00:00:00 /usr/bin/rsync --daemon root 27985 26855 0 13:58 pts/6 00:00:00 grep rsync hvn1:~ # netstat -na | grep 873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN tcp 0 0 :::873 :::* LISTEN
配置客戶端:
[root@bogon test1]# service xinetd status xinetd (pid 2176) is running...
下載同步:工具
rsync -av --progress --delete root@10.0.23.61::test /root/work/test1/ff/
上傳同步:
rsync -av --progress /root/work/test1/ff/ root@10.0.23.61::test