rsync 是什麼?
- 同步更新兩處電腦的檔案與目錄
- 使用 zlib 演算法,傳輸資料量小
- 可以透過本機/NAS/SSH/Daemon同步
rsync 可以幹嘛?
- 差異備份
- 同步資料
- mirroring
- 增量備份
rsync installation
cd /usr/ports/net/rsync && make install
設定檔:/usr/local/etc/rsyncd.conf
rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
rsync uses TCP port 873.
Options
-r: recursive
-p: perms
-t: times
-g -o: group/owner
–delete: 刪除遠端主機上不存在於本機的檔案
-a: archive (includes: -rlptgoD)
-u: update 跳過新版檔案
實戰定時異地備援
- 所有電腦都要安裝 rsync
- 備份主機要啟動 rsync daemon
- Side Quest: 設定防火牆
rsyncd.conf
[test] comment = backup test path = /home/sntc06/rsync auth users = sntc06 uid = sntc06 gid = sntc06 secrets file = /etc/rsyncd.secrets read only = no
kerker
rsyncd.secrets
內容格式:帳號:密碼 (ex. sntc06:rsyncpassword)
chown root:root rsyncd.secrets chmod 600 rsyncd.secret
客戶端的設定
rsyncd.secrets:密碼
chmod 600 rsyncd.secrets
同步囉!
rsync -av --password-file=/path/to/password /path/to/folder/ [email protected]::test1
Optional: -u (update)
Optional: –delete