環境要求:
準備兩台伺服器(VM) 兩個IP 1.A伺服器=主伺服器===>安裝軟體(rsync+sersync) 2.B伺服器=從伺服器===>安裝軟體(rsync) ip劃分 A伺服器:192.168.1.200 B伺服器:192.168.1.201 作業系統: [[email protected] ~]# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 27293dbfbbb64cf680e224375a128156 Boot ID: bef11f3b69a8401da09bc9b40eb75ea4 Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-514.10.2.el7.x86_64 Architecture: x86-64 |
A伺服器安裝:
Rsync可以編譯安裝或者yum,本機yum安裝 [[email protected] ~]# rsync --version rsync version 3.0.9 protocol version 30 Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ #下載下傳位址 |
Rsync伺服器主要有三要素,端口873
1.認證賬号及密碼檔案 |
/opt/app/rsyncd/auth.pass #本機存放位置,此位置可自由定制.
echo "users:123456" >/opt/app/rsyncd/auth.pass
chmod 600 /opt/app/rsyncd/auth.pass #修改權限,不修改會報錯
2.同步檔案目錄 |
mkdir -p /backup/web #個人定制
3.主要配置檔案rsyncd.conf,預設配置檔案是示例,這裡存放了上面兩點的目錄 |
cat /etc/rsyncd.conf uid = root #擁有目錄權限使用者 gid = root #擁有目錄權限的組 use chroot = no #内網使用可以不用配置 max connections = 200 #最大連接配接數 timeout = 300 #逾時時間 pid file = /var/run/rsyncd.pid #啟動程序寫入此PID檔案 lock file = /var/run/rsyncd.lock #lock檔案來配合最大連接配接數參數 log file = /var/log/rsyncd.log #日志檔案 ignore errors = yes #忽略I/O錯誤 read only = false #允許讀寫 list = false #不列出清單 hosts allow = 192.168.1.0/24 #允許網段 hosts deny = * #拒絕其他網段 auth users = users #認證使用者 secrets file = /opt/app/rsyncd/auth.pass #密碼檔案 [web] #同步目錄 path = /backup/web #End |
Sersync安裝:
配置認證密碼
echo "123456" >/opt/app/sersyncd/auth.pass #此密碼檔案不要配置使用者,不然報錯. chmod 600 /opt/app/sersyncd/auth.pass |
下載下傳軟體:根據系統下載下傳32或64軟體.
https://code.google.com/archive/p/sersync/downloads |
解壓軟體
tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz |
移動到opt這個目錄
mv GNU-Linux-x86 /opt/app/sersyncd/sersync |
配置confxml.xml,隻貼出了修改部分,紅色為修改.其他子產品未動.
cd /opt/app/sersyncd/sersync vim confxml.xml <sersync> <localpath watch="/backup/web"> <!--本機同步目錄--> <remote ip="192.168.1.201" name="web"/> <!--B伺服器IP及同步檔案--> <!--<remote ip="192.168.8.39" name="tongbu"/>--> <!--<remote ip="192.168.8.40" name="tongbu"/>--> </localpath> <rsync> <commonParams params="-artuz"/> <auth start="true" users="users" passwordfile="/opt/app/sersyncd/auth.pass"/> <!--認證使用者及認證B伺服器密碼檔案目錄--> <userDefinedPort start="false" port="874"/><!-- port=874 --> <timeout start="false" time="100"/><!-- timeout=100 --> <ssh start="false"/> </rsync> <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/> <!--default every 60mins execute once--> <crontab start="false" schedule="600"><!--600mins--> <crontabfilter start="false"> <exclude expression="*.php"></exclude> <exclude expression="info/*"></exclude> </crontabfilter> </crontab> <plugin start="false" name="command"/> </sersync> |
B伺服器安裝(rsync)
可以複制A伺服器配置,不要sersync部分即可.
啟動服務,先啟動B伺服器,在啟動A伺服器,請關閉防火牆及selinux.或者配置防火牆
/usr/bin/rsync --daemon #rsync服務啟動方式,centos7可以用systemctl(yum安裝方式)
/opt/app/sersyncd/sersync/sersync2 -r -d -o /opt/app/sersyncd/sersync/confxml.xml #啟動sersync,請看啟動資訊,以免報錯
檢視端口
ps -ef | grep rsync
netstat -lnt | grep 873
lsof -i:873
轉載于:https://blog.51cto.com/sadoc/1912545