多臺阿里雲的機器,只有一臺跳板機有外網地址,所以在跳板機上pull代碼, 而後用 rsync 同步到其餘內網的機器。此處用跳板機作rsync客戶端, 其餘機器作rsync服務端, 從跳板機往內網機上推文件。html
基本用法shell
從本地傳輸到遠程 rsync source host:destination rsync source host::destination 從遠程傳輸到本地 rsync host:source destination rsync host::source destination
rsync有2種不一樣的工做模式:vim
rsync --daemon
使用獨立進程的方式,或者經過xinetd超級進程來管理rsync後臺進程。
將source目錄下的內容複製到destination目錄下 rsync -r source/ destination rsync -r source/. destination 若是source後不跟斜線,則會在destination下新建一個名爲source的目錄. destination後有無斜線結果不受影響 使用時二者後都加上斜線,便於記憶
$ tree a a ├── b │ ├── c │ └── cc.data ├── b.data └── bb.data $ rsync -r a a1 $ tree a1 a1 └── a ├── b │ ├── c │ └── cc.data ├── b.data └── bb.data $ rsync -r a/ a2 #(或 rsync -r a/. a2) $ tree a2 a2 ├── b │ ├── c │ └── cc.data ├── b.data └── bb.data
經常使用選項:segmentfault
-a 等於 -rlptgoD -r 是遞歸 -l 是連接文件,意思是拷貝連接文件; -p 表示保持文件原有權限 -t 保持文件原有時間; -g 保持文件原有用戶組 -o 保持文件原有屬主; -D 至關於塊設備文件 -z 傳輸時壓縮; -P 等於 --partial --progress --partial 保留那些因故沒有徹底傳輸的文件,以是加快隨後的再次傳輸 --progress 進度 -v 詳細輸出信息
rsync 服務端配置bash
vim /etc/rsyncd.confssh
uid=用戶名user1 gid=用戶組group1 use chroot=yes max connections=10 timeout=600 strict modes=yes port=873 pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock log file=/var/log/rsyncd.log [模塊名mod1] path=/home/user1/code/ comment=註釋 code file needed sync read only=no hosts allow=10.0.3.2 hosts deny=0.0.0.0/32 [模塊名mod2] path=/home/user1/pypi/ comment=pip source file read only=no hosts allow=10.0.3.2 hosts deny=0.0.0.0/32
vim /etc/rsyncd.secrets, 密碼和用戶的系統密碼沒有關係socket
user1:password
vim /etc/xinetd.d/rsync, 用xinetd 管理 rsync 服務ui
service rsync { disable = no flags = IPv6 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
chkconfig rsync on阿里雲
service xinetd restartrest
客戶端配置
vim /etc/rsync_client.pwd
填入rsync服務端的密碼
手動同步
rsync -avzP --delete --password-file=/etc/rsync_client.pwd /home/user1/code/ user1@10.0.3.3::mod1 rsync -avzP --delete --password-file=/etc/rsync_client.pwd /home/user1/pypi/ user1@10.0.3.3::mod2
參考文章:
http://seanlook.com/2014/12/12/rsync_inotify_setup/
https://download.samba.org/pub/rsync/rsyncd.conf.html
http://ltblog.blog.51cto.com/1263616/859216
https://segmentfault.com/a/1190000000444614