rsync 工具
說明:rsync 和scp 支援遠端備份,rsync 支援增量拷貝
類似工具scp
說明:A和B主機需安裝openssh-clients
指令 scp ./ilanni.tar.gz [email protected]:/ks
一、 安裝工具
yum install -y rsync
二、ssh連接配接方式
說明:源主機和目标主機需安裝:openssh-clients
1)拷貝到遠端
說明:指定端口;不寫使用者名則自動檢測遠端主機目前的使用者
rsync -e "ssh -p 22" -zvPz 111/ [email protected]:/tmp/111/
2)遠端拷貝回來
rsync -e "ssh -p 22" -zvPz [email protected]:/tmp/111/ ./111/
注:拷貝整個目錄以及其下的檔案時,需加/,否則隻是拷貝了目錄而沒有檔案
用法說明:
-a 等同于 -rlptgoD
-D 裝置檔案相關,很少接觸
-o owner,即屬主
-g group,即屬組
-t 時間,即3個time
-p 讀寫權限,同步前後不會變化
-r 歸檔,針對同步目錄作用
-l 同步軟連結檔案,如果沒有源檔案,則為廢檔案
-L 同步軟連結的源檔案
-v 可視化
--delete 删除A機上的老檔案,則B的老檔案也會删除
--exclude=PATTERN ,等号後面跟檔案名 同步時,排除某些檔案和目錄,過濾掉
-P 大P顯示同步進度,比v顯示的東西多,和--process一樣
-u 等同于--update 避免把目标B檔案上的新資料(可能修改之後和A不同了)覆寫掉
-z 壓縮同步,減少帶寬
--no-OPTION 這個表示關閉-rlptgoD中的某一個例如 -a--no-l 等同于-rptgoD
--progress 在同步的過程中可以看到同步的過程狀态,比如統計要同步的檔案數量、同步的檔案傳輸速度等等
三、背景服務方式
說明:daemon背景服務的方式,需寫一個配置檔案,放在etc下,通過指令啟動,監聽一個端口,然後用戶端和服務端通信
【服務端配置】(172.16.115.202)
1. 編輯配置檔案vim /etc/rsyncd.conf
說明:huangzhenping1子產品不需要認證;配置檔案修改之後不需要重新開機,及時生效
添加内容:
port=8730 # 端口
log file=/var/log/rsync.log # log日志檔案
pid file=/var/run/rsync.pid # 每個程序都有個pid檔案
[huangzhenping] # 子產品名
path=/tmp/rsync # 子產品對應的目錄,用于存取檔案,需要建立
use chroot=yes # 限定子產品目錄下軟連結時不能同步其他目錄的檔案,yes或ture為真
max connections=4 # 最大連接配接數
read only=no # 登入之後是否隻讀(如果推送,則需要寫權限)
list=yes # 是否允許list子產品名
uid=root # 檔案屬主屬組
gid=root
auth users=huangzhenping # 使用者認證
secrets file=/etc/rs.passwd # 認證密碼檔案
hosts allow=172.16.115.202 172.16.115.162 # 允許主機
[huangzhenping1]
path=/tmp/rsync123
use chroot=yes
max connections=4
read only=no
list=yes
uid=root
gid=root
hosts allow=172.16.115.202
2. 啟動,檢視端口,檢視日志
rsync --daemon
netstat -lnp|grep rsync
cat /var/log/rsync.log
3. 建立目錄和檔案
mkdir /tmp/rsync
mkdir /tmp/rsync123
4. 建立密碼檔案vim /etc/rs.passwd,修改權限為600,隻允許root讀寫
内容:
huangzhenping:123456 #左邊為使用者名,右邊為對應密碼
授權:
chmod 600 /etc/rs.passwd
【用戶端同步測試】(172.16.115.157)
說明:雙冒号預設以873端口去通路連接配接
1. 在用戶端檢視服務端子產品名,同步測試
說明:由list=yes|no決定
rsync --port 8730 172.16.115.202::
文法:
rsync -avPz --port 8730 /tmp [email protected]::huangzhenping/
說明:需要服務端設定的使用者名和密碼,以及子產品名
2. 用戶端指定密碼檔案,免密碼同步
1)先查詢指定格式
rsync --help|grep passw
2)建立密碼檔案
說明:一個檔案一個密碼,隻需寫密碼,授權400
vim /etc/rsync_pass.txt
chmod 400 /etc/rsync_pass.txt
3)同步時,指定密碼檔案即可
rsync -avPz --port 8730 --password-file=/etc/rsync_pass.txt [email protected]::huangzhenping/ /tmp/
本文轉自 huangzp168 51CTO部落格,原文連結:http://blog.51cto.com/huangzp/1906257,如需轉載請自行聯系原作者