工具篇:rsync
阿新 • • 發佈:2018-12-21
同步檔案,相當於cp,可以用在一個機器中或是不同機器間。
接收方receiver
不同機器間同步時,接收方相當於伺服器,配置/etc/rsyncd.conf檔案,更新配置檔案不需要重啟程序。
配置示例:允許接收來自10.1.1.*、10.1.2.3和10.1.3.3的機器同步過來的檔案,存放在/path/to/store/file中。
[example]
path = /path/to/store/file
hosts allow=10.1.1.1/255.255.255.0 10.1.2.3 10.1.3.3
read only = no
啟動守護程序
/usr/bin/rsync --daemon --no-detach
當接收到同名檔案時,前一次收到的檔案會按照發送時指定到字尾重新命名,當前收到到檔名稱不變。當再次收到同名檔案後,上上次收到的檔案被刪除,上次收到的檔案加字尾重新命名,當前收到的檔名稱不變。以後同上。
傳送方
rsync -avz --suffix=.old --backup receiver_ip::example
傳送/data1/path目錄中,上一個小時的日誌,日誌格式business.log.2018-11-16-17。
接收方檔名:transmitter_ip.business.log.2018-11-16-17
遇到同名檔案時,前一檔案加字尾.old
pre_hour=`date -d '-1 hours' '+%Y-%m-%d-%H'` ip=`/usr/sbin/ifconfig eth0|grep 'inet'|grep '10.'|awk '{print $2}'` cd /data1/path find ./ -name "business.log.$pre_hour" |xargs -I {} rsync -avz --suffix=.old --backup {} 10.3.1.1::example/$ip.business.log.$pre_hour