rsync+sersync實現實時同步
之前的一篇中記錄了rsync+inotify實現檔案的實時傳輸,礙於inotifywait的bug問題,線上同步網站檔案無法使用,所以再記錄一下sersync的配置,留待使用時檢視。
環境:centos6.8
IP及功能劃分:
172.17.9.151(釋出伺服器)
172.17.9.150 (web伺服器)
需求:釋出伺服器生成靜態頁面(wwwroot下),使用rsync+sersync進行實時同步,將檔案實時同步到web伺服器(www下)。
web伺服器端(9.150)
1、關閉selinux、開放rsync的埠(預設873)這裡不再進行贅述;
2、yum -y install rsync (若內網環境無法聯網,使用光碟yum源);
3、新建rsyncd.conf配置檔案(安裝rsync時預設未建立)
[[email protected] www]# cat /etc/rsyncd.conf # This configuration file for rsync daemon #執行rsync的使用者 gid = root uid = root #是否切換root許可權 use chroot = no #設定是否只讀 read only = no #最大連線數 max connections = 5 pid file = /var/run/rsyncd.pid #定義驗證檔案路徑及檔名 secrets file = /etc/rsyncd.password lock file = /var/run/rsync.lock log file = /var/log/rsync.log transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 timeout = 300 #定義模組名 [backup] #此模組對應的同步目錄 path = /data/www #不對模組下的列表進行列表顯示 list=no #忽略錯誤 ignore errors #定義傳輸時使用的使用者,同上面的secrets file定義的密碼驗證檔案一塊使用,實現無互動式傳輸 auth users = rsyncuser
4、建立驗證檔案並修改許可權
echo "rsyncuser:12345" > /etc/rsyncd.password
chmod 600 /etc/rsyncd.password
5、使用守護程序的方式執行rsync
rsync --daemon
釋出伺服器(9.151)
1、yum -y install rsync
2、建立密碼檔案,不同於web伺服器端的是,此passwod檔案中只需要密碼即可
echo "12345" > /etc/rsyncd.password
chmod 600 /etc/rsyncd.password
3、測試同步(將源目錄wwwroot同步到目標伺服器9.150的backup模組對應的目錄下)
rsync -avH --port=873 --progress --delete wwwroot [email protected]::backup --password-file=/etc/rsyncd.password
Sersync配置
4、下載sersync http://sersync.googlecode.com/files/sersync2.1_64bit_binary.tar.gz (這裡需要翻牆的,沒有的話只能通過別人的網盤下載,這裡提供我自己的網盤分享地址:連結: https://pan.baidu.com/s/18qO9EMKyfbiasG-4AYoWEQ 提取碼: k67u)
5、下載完成後上傳到伺服器,直接解壓縮,移動到需要安裝的目錄,編輯配置檔案
tar -zxf sersync2.5.4_64bit_binary_stable_final.tar.gz
mv GNU-Linux-x86/ /usr/local/sersync
vim /usr/local/sersync/conxml.xml
6、配置檔案模版:
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<debug start="false"/>
<fileSystem xfs="false"/>
<!--改為true,則開啟檔案過濾,exclude中進行設定哪些格式檔案不做同步-->
<filter start="false">
<exclude expression="(.*)\.svn"></exclude>
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
<exclude expression="^static/*"></exclude>
</filter>
<!--inotify事件監控,根據需要可以開啟或關閉-->
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="false"/>
<closeWrite start="true"/>
<moveFrom start="true"/>
<moveTo start="true"/>
<attrib start="false"/>
<modify start="true"/>
</inotify>
<sersync>
<!--localpath配置需要監聽的的目錄-->
<localpath watch="/assoft/wwwroot">
<!--remote ip設定遠端rsync服務端的ip,backup為模組名,多臺服務端則複製多個remote標籤-->
<remote ip="172.17.9.150" name="backup"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<!-- 設定rsync的引數,auth則設定是否使用密碼檔案驗證,需要則指定使用者及密碼檔案,若rsync服務端更改了rsync的預設埠,則需要在userDefinedPort中開啟埠指定-->
<commonParams params="-artuz"/>
<auth start="true" users="rsyncuser" passwordfile="/etc/rsync.password"/>
<userDefinedPort start="true" port="873"/><!-- 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-->
<!--這裡配置為true則在600min以後,執行一次整體同步-->
<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>
<plugin name="command">
<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->
<filter start="false">
<include expression="(.*)\.php"/>
<include expression="(.*)\.sh"/>
</filter>
</plugin>
<plugin name="socket">
<localpath watch="/opt/tongbu">
<deshost ip="192.168.138.20" port="8009"/>
</localpath>
</plugin>
<!--重新整理CDN的引數,我這裡使用不到,就不做介紹了-->
<plugin name="refreshCDN">
<localpath watch="/data0/htdocs/cms.xoyo.com/site/">
<cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
<sendurl base="http://pic.xoyo.com/cms"/>
<regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
</localpath>
</plugin>
</head>
7、啟動sersync,最後上線加入開機啟動即可。
.sersync2 -d -r -o /usr/local/sersync/confxml.xml
引數:
-d | 啟用守護程序模式 |
-n | 指定開啟守護執行緒的數量,預設為10個 |
-o | 指定配置檔案,預設使用confxml.xml檔案 |
-m | 單獨啟用其他模組,使用 -m socket 開啟socket模組 (refreshCDN、http) |
相關推薦
rsync+sersync實現實時同步
之前的一篇中記錄了rsync+inotify實現檔案的實時傳輸,礙於inotifywait的bug問題,線上同步網站檔案無法使用,所以再記錄一下sersync的配置,留待使用時檢視。 環境:centos6.8 IP及功能劃分: 172.17.9.151(釋出伺服器)
Centos利用 rsync+inotify實現實時同步
rsync inotify 1.1 inotify介紹inotify是一種強大的、細粒度的、異步的文件系統事件控制機制。linux內核從2.6.13起,加入了inotify支持,通過inotify可以監控文件系統中添加、刪除、修改、移動等各種事件,利用這個內核接口,第三方軟件就可以監控文件系統下文件的
RSYNC04-配置rsync+inotify實現實時同步
cccccc ror 編譯速度 響應 大於 grep 軟件開發 介紹 cdn 1,背景介紹 Linux內核從2.6.13版本開始提供了inotify通知接口,用來監控文件系統的各種變化情況,如文件存取、刪除、移動等。利用這一機制,可以非常方便地實現文件異動告警、
rsync+inotify實現實時同步
rsync inotify 一、前期準備 1、準備兩臺主機,我這裏的系統是rhel7,分別是192.168.4.11和192.168.4.22二、rsync命令的用法:1、基本格式: rsync [選項] 目錄1/ 目錄2/ 註意加斜線和不加斜線的區別,加斜線就是只同步目錄下的文件2、
rsync+inotify實現實時同步、增量備份
version rev pts 常用 無需 ESS 成功 dex http 主機A:被備份的源主機主機B:備份的目的主機 在linux內核中,默認的inotify機制提供了三個調控參數 [root@fudanwuxi html]# uname -r 3.10.0-69
rsync+inotify實現實時同步案例--轉
隨著應用系統規模的不斷擴大,對資料的安全性和可靠性也提出的更好的要求,rsync在高階業務系統中也逐漸暴露出了很多不足,首先,rsync同步資料時,需要掃描所有檔案後進行比對,進行差量傳輸。如果檔案數量達到了百萬甚至千萬量級,掃描所有檔案將是非常耗時的。而且正在發生變化的往往是其中很少的一部分,這是非常低效的
sersync+rsync實現實時同步備份
sersync+rsync實現實時同步備第一個裏程:下載安裝sersync軟件 先進行軟件下載,把軟件包上傳到系統中 unzip sersync_installdir_64bit.zip cd sersync_installdir_64bit mv sersync /usr/local/ tree 第二個裏
Linux Debian8 Rsync+Sersync實現數據實時同步
dev 火墻 變化 log 默認啟動 define lan vim cut Rsync+sersync實現數據實時同步Rsync??Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件。Rsync使用所謂的“
Linux下Rsync+sersync實現資料實時同步
本教程實現的是Linux伺服器之間自動同步檔案或目錄的功能,網上有很多這方面的教程,大體有兩種途徑 (1)Rsync+inotify-tools (2)Rsync+sersync 本教程採用第二種實現.下面先簡單介紹幾個專案中用到的軟體或概念. R
centos7 Rsync+sersync實現資料實時同步
一、為什麼要用rsync+sersync架構? 1、sersync是基於inotify開發的,類似於inotify-tools的工具 2、sersync可以記錄下被監聽目錄中發生變化的(包括增加、刪除、修改)具體某一個檔案或者某一個目錄的名字,然後使用rsync同步的時候
Linux下的sersync和rsync實現實時同步
對於rsync這裡級不做過多的解釋了,主要介紹的是sersync的配置 1、如果電腦沒有安裝sersync服務的話,我們可以在這個地址進行安裝sersync下載地址 2、我們將下載過來的se
linux rsync遠程同步+sersync+rsync實現實時同步
保存 error 創建 服務 auth word add 同步時間 emc rsync是什麽 rsync全稱Remote Sync ,遠程同步,是Linux/UNIX系統下的文件同步和數據傳輸工具,數據備份,它采用了“rsync算法”使一個客戶機和遠程文件服務器之間的文
Rsync+sersync實現文件實時備份
execute ret 技術分享 存放位置 find a-z 顯示 googl dport 第一部分:在目標服務器192.168.0.217上操作一、在OA文件備份服務器安裝Rsync服務端1、關閉SELINUXvi /etc/selinux/config #編輯防火墻配置
inotify+rsync實現實時同步並郵件通知
代碼 moni 創建目錄 存在 echo ets selinux 5.0 from 服務器之間文件實時同步,監控文件的變化,發送郵件通知,並實時同步文件。 由於人工同步多臺服務器的文件比較吃力,可以借助這樣一套軟件,自動化的實現這樣的工作。 並且可以事實監控變化發送郵件
Sersync+rsync文件實時同步操作配置
Sersync rsync 1、 先安裝好rsyncd服務端,並配置可以從客戶端將數據同步到服務端,也可以將服務端的數據拉取到本地Rsync服務端配置如下:1.1、創建rsyncd.conf配置文件Vim /etc/rsyncd.conf 配置信息如下#Rsync server##rsyncd.c
inotify+rsync實現實時同步(附解決crontab中無法執行python指令碼的問題)
1.準備環境 # 系統支援的話,下面的目錄就會存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait監控目錄狀態變化 /usr/bin/inotif
CentOS7 Rsync服務搭建-Rsync+Inotify架構實現實時同步
關於centos7版本上面搭建rsync服務並且實現實時同步之前一直是在6版本上面搭建rsync服務,在7版本上面折騰了半天。此處總結下 inotify下載地址:http://github.com/d
20190308 samba服務、inotify和rsync實現實時同步、防火墻
times 產生 lib 實現 day 復雜 共享 輸出 編號 Samba服務[root@centos7 ~]#yum install samba[root@centos7 ~]#systemctl start smb[root@centos7 ~]#ss -ntluNet
rsync+sersync實現數據時時備份
rsync+sersync 實現數據實時備份 linux 數據備份 CentOS6.6中rsync+sersync實現數據實時備份註意:rsync的daemon模式已提前配置好了,只需要配置sersync即可 。一.基本環境系統版本主機名IP地址角色備份/監控目錄CentOS 6.6backu
Rsync+sersync多目錄同步
rsync sersync Rsync+sersync多目錄同步 源服務器:192.168.1.100 目標服務器:192.168.1.200,把源服務器的/data/book 和/data1/book 同步到目標服務器的/data/book 和/data1/book第一部分:在目標服務器192