日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sersync+rsync+inotify-tools集中日志,实时同步

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sersync+rsync+inotify-tools集中日志,实时同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

用sersync+rsync+inotify-tools實時監控文件變化,實時同步,將多臺業務主機日志集中到一臺服務器,便于研發實時grep、awk查看。
A服務器: 收集同步過來的文件
B服務器: 將產生的業務日志實時同步到A上

平臺:centos 7.4 x86_64

A服務器配置
yum install -y epel-release
yum install -y rsync

cp /etc/rsyncd.conf /etc/rsyncd.conf.bk

vi /etc/rsyncd.conf
uid=root
gid=root
#最大連接數
max connections=36000
#默認為true,修改為no,增加對目錄文件軟連接的備份?
use chroot=no
#定義日志存放位置
log file=/var/log/rsyncd.log
#忽略無關錯誤
ignore errors = yes
#設置rsync服務端文件為讀寫權限
read only = no?
#認證的用戶名與系統帳戶無關在認證文件做配置,如果沒有這行則表明是匿名
auth users = rsync
#密碼認證文件,格式(虛擬用戶名:密碼)
secrets file = /etc/rsync.pass
#這里是認證的模塊名,在client端需要指定,可以設置多個模塊和路徑
[ultron]
#自定義注釋
comment ?= backend ultron
#B服務器同步過來的文件存放的路徑
path=/logcenter/backend/ultron
[inside]
comment ?= backend inside
path=/logcenter/backend/inside

#創建rsync認證文件 ?可以設置多個,每行一個用戶名:密碼,注意中間以“:”分割
echo "rsync:123456" > /etc/rsync.pass

#設置文件所有者讀取、寫入權限
chmod 600 /etc/rsyncd.conf ?
chmod 600 /etc/rsync.pass ?

#啟動服務器B上的rsync服務
#rsync --daemon -v
rsync --daemon

#監聽端口873
netstat -an | grep 873

#設置rsync為服務啟動項(可選)
echo "/usr/local/bin/rsync --daemon" >> /etc/rc.local

#要 Kill rsync 進程,不要用 kill -HUP {PID} 的方式重啟進程,以下3種方式任選
#ps -ef|grep rsync|grep -v grep|awk '{print $2}'|xargs kill -9
#cat /var/run/rsyncd.pid | xargs kill -9
pkill rsync
#再次啟動
/usr/local/bin/rsync --daemon

B服務器上的配置
yum install -y epel-release
yum install -y rsync inotify-tools
cd /alidata/server
tar zxf sersync2.5.4_64bit_binary_stable_final.tar.gz
mv GNU-Linux-x86 sersync
cd sersync
#配置下密碼文件,因為這個密碼是要訪問服務器A需要的密碼和上面服務器A的密碼必須一致
echo "123456" > user.pass
chmod 600 user.pass

vi confxml.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
?<host hostip="localhost" port="8008"></host>
?<debug start="true"/>
?<fileSystem xfs="false"/>
?<filter start="false">
?<exclude expression="(.*)\.php"></exclude>
?<exclude expression="^data/*"></exclude>
?</filter>
?<inotify>
?<delete start="true"/>
?<createFolder start="true"/>
?<createFile start="false"/>
?<closeWrite start="true"/>
?<moveFrom start="true"/>
?<moveTo start="true"/>
?<attrib start="false"/>
?<modify start="false"/>
?</inotify>
?
?<sersync>
?<localpath watch="/var/www/runtime/log"> <!-- 這里填寫服務器B要同步的文件夾路徑-->
?<remote ip="8.8.8.8" name="ultron"/> <!-- 這里填寫服務器A的IP地址和模塊名-->
<remote ip="8.8.8.8" name="inside"/> <!-- 這里填寫服務器A的IP地址和模塊名-->
?<!--<remote ip="192.168.28.39" name="tongbu"/>-->
?<!--<remote ip="192.168.28.40" name="tongbu"/>-->
?</localpath>
?<rsync>
?<commonParams params="-artuz"/>
?<auth start="true" users="rsync" passwordfile="/alidata/server/sersync/user.pass"/> <!-- rsync+密碼文件 這里填寫服務器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>
?
?<!-- 下面這些有關于插件的設置可忽略了 -->
?<plugin name="command">
?<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /alidata/server/sersync/mmm.sh suffix-->
?<filter start="false">
?<include expression="(.*)\.php"/>
?<include expression="(.*)\.sh"/>
?</filter>
?</plugin>
?
?<plugin name="socket">
?<localpath watch="/home/demo">
?<deshost ip="210.36.158.xxx" port="8009"/>
?</localpath>
?</plugin>
?<plugin name="refreshCDN">
?<localpath watch="/data/htdocs/cdn.markdream.com/site/">
?<cdninfo domainname="cdn.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
?<sendurl base="http://cdn.markdream.com/cms"/>
?<regexurl regex="false" match="cdn.markdream.com/site([/a-zA-Z0-9]*).cdn.markdream.com/images"/>
?</localpath>
?</plugin>
</head>

啟動sersync服務
nohup ./sersync2 -r -d -o ./confxml.xml > ./sersync.log 2>&1 &
-d:啟用守護進程模式
-r:在監控前,將監控目錄與遠程主機用rsync命令推送一遍
-n: 指定開啟守護線程的數量,默認為10個
-o:指定配置文件,默認使用confxml.xml文件
?

轉載于:https://my.oschina.net/u/2404183/blog/1828450

總結

以上是生活随笔為你收集整理的sersync+rsync+inotify-tools集中日志,实时同步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。