CentOS7 Rsync服務搭建-Rsync+Inotify架構實現實時同步
之前一直是在6版本上面搭建rsync服務,在7版本上面折騰了半天。此處總結下
inotify下載地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
環境說明:
centos7版本上面已經預設安裝了rsync和xinetd服務
[ [email protected] ~ ]#
rpm -ql rsync --在6版本上面執行此命令可以看到xinetd服務配置檔案下面有rsync的子配置檔案
/etc/xinetd.d/rsync
[ [email protected] ~ ]# ls /etc/xinetd.d/sync
/etc/xinetd.d/rsync
[ [email protected]_3 ~ ]# rpm -ql rsync --在7版本上面執行此命令卻找不到這樣的配置檔案,ls檢視提示沒有此檔案
[ [email protected]_3 ~ ]# ls /etc/xinetd.d/sync
ls: cannot access /etc/xinetd.d/rsync: No such file or directory
————————————————————————————————————————————————————————
實驗環境:兩臺centos7版本的宿主機
- 客戶端:172.16.27.25
- 服務端:172.16.27.26
- 服務端
- [[email protected] ~]#
rpm -aq |grep xinetd
xinetd-2.3.15-13.el7.x86_64
[[email protected] ~]# rpm -aq |grep rsync
rsync-3.0.9-17.el7.x86_64 - [[email protected] ~]#
vim /etc/xinetd.d/rsync --說明:修改xinetd服務下面的配置檔案,將rsync交給xinetd管理。此配置檔案在7版本預設上面是沒有的,我是直接從6版本複製過來的,也可以手寫下面內容
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no --將原來的yes改為no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
} - [[email protected] ~]#
vim /etc/rsyncd.conf --修改配置檔案釋出共享目錄
[test]
path = /test --本地共享目錄
auth user = user1 --指定使用者同步
secrets file = /etc/rsyncd.secrets --指定儲存使用者密碼檔案 - [[email protected] ~]# systemctl restart xinetd --啟動服務
- [[email protected] ~]#
vim /etc/rsyncd.secrets --建立安全使用者
user1:123 - [[email protected] ~]# chmod 600 /etc/rsyncd.secrets --設定安全使用者檔案的許可權,不能被其他人檢視
- [[email protected] ~]# mkdir /test --建立共享目錄
[[email protected] ~]# touch /test/file{1..10} --此處為了測試,建立幾個檔案
[[email protected] ~]# ls /test/
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 - 客戶端測試:
- [[email protected] ~]#
rsync -a 172.16.27.26::
test - [[email protected] date]# ls
[[email protected] date]# rsync -av [email protected]::test /date
receiving incremental file list
./
file1
file10
file2
file3
file4
file5
file6
file7
file8
file9
sent 219 bytes received 524 bytes 1486.00 bytes/sec
total size is 0 speedup is 0.00
[[email protected] date]# ls --可以看見成功從上面同步過來了。
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 - 通過inotify+rsync架構實現實時同步
- 環境說明:要求node1主機上面的/node1目錄發生新的建立,刪除,移動,以及檔案屬性資訊改變時,自動同不到node2主機的/node2目錄
- node1主機: IP 172.16.27.25
node2主機: IP 172.16.27.26 - 具體步驟:
- node1端:
- [[email protected] tmp]# ls /tmp/inotify-tools-3.14.tar.gz
/tmp/inotify-tools-3.14.tar.gz - [[email protected] tmp]#
tar -xf inotify-tools-3.14.tar.gz
[[email protected] tmp]# cd inotify-tools-3.14/
[[email protected] inotify-tools-3.14]# ls
aclocal.m4 ChangeLog config.h.in configure COPYING INSTALL libinotifytools Makefile.am man NEWS src
AUTHORS config.guess config.sub configure.ac depcomp install-sh ltmain.sh Makefile.in missing README
[[email protected] ~]# ./configure && make && make install --安裝軟體 - [[email protected] ~]#
vim /tmp/1.sh
#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,create,move,delete,attrib /node1 |while read events
do
rsync -a --delete /node1 172.16.27.26::test
echo "`date +'%F %T'` 出現事件 $events" >>/tmp/rsync.log 2>&1
done[[email protected] ~]#mkdir /node1
[[email protected] ~]# touch /node1/testa{1..5} - node2端:
- [[email protected] ~]#
vim /etc/rsyncd.conf
[test]
path = /node2/
read only = false
uid = root
gid = root
[[email protected] ~]# mkdir /node2
[[email protected] ~]# ls /node2/ --此時檢視,該目錄裡面什麼檔案都沒有
[[email protected] ~]# systemctl restart xinetd - 測試驗證:
在node1端執行指令碼並且放在後臺執行,並且建立檔案,再看tmp下面是否有建立檔案後腳本執行報的日誌資訊
[[email protected] ~]# nohup sh /tmp/1.sh &
[1] 14720
[[email protected] ~]# nohup: ignoring input and appending output to ‘nohup.out’ --此處直接回車
[[email protected] ~]# echo haha >>/node1/file1
[[email protected] ~]# ls /tmp/rsync.log
/tmp/rsync.log
[[email protected] ~]# cat /tmp/rsync.log
2017-10-10 15:55:01 出現事件 /node1/ CREATE file1
2017-10-10 15:55:01 出現事件 /node1/ MODIFY file1
在node2端檢查驗證
[[email protected] ~]# ls /node2/
file1 testa1 testa2 testa3 testa4 testa5
[[email protected] ~]# cat /node2/file1
haha
---------測試發現在node1端建立的檔案實時同步過來到node2上面了。 - 總結:其實在6系統和7系統上面搭建rsync服務是一樣的,只是在7上面改版了,系統預設沒有/etc/xinetd.d/rsync配置檔案,需要自己手動建立。其餘配置完全一樣
相關推薦
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
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、
inotify+rsync實現實時同步並郵件通知
代碼 moni 創建目錄 存在 echo ets selinux 5.0 from 服務器之間文件實時同步,監控文件的變化,發送郵件通知,並實時同步文件。 由於人工同步多臺服務器的文件比較吃力,可以借助這樣一套軟件,自動化的實現這樣的工作。 並且可以事實監控變化發送郵件
rsync+inotify實現實時同步、增量備份
version rev pts 常用 無需 ESS 成功 dex http 主機A:被備份的源主機主機B:備份的目的主機 在linux內核中,默認的inotify機制提供了三個調控參數 [root@fudanwuxi html]# uname -r 3.10.0-69
inotify+rsync實現實時同步(附解決crontab中無法執行python指令碼的問題)
1.準備環境 # 系統支援的話,下面的目錄就會存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait監控目錄狀態變化 /usr/bin/inotif
Rsync服務搭建小結
最近由於業務上的考慮,把內容的點選數、播放數等變化頻換(每日1000W-2000w次)但是對於業務沒有太大實時意義的計數,由實時操作DB變更為只記錄操作日誌,每晚彙總各機器的操作日誌,計算各內容點選與播放的總數一次性更新DB,將DB的操作降低到百萬級別以內了。 這個過程中使
rsync+inotify實現實時同步案例--轉
隨著應用系統規模的不斷擴大,對資料的安全性和可靠性也提出的更好的要求,rsync在高階業務系統中也逐漸暴露出了很多不足,首先,rsync同步資料時,需要掃描所有檔案後進行比對,進行差量傳輸。如果檔案數量達到了百萬甚至千萬量級,掃描所有檔案將是非常耗時的。而且正在發生變化的往往是其中很少的一部分,這是非常低效的
rsync服務搭建
備份 文件的 密碼文件 lock -a 模塊 源文件 path eno rsync服務主要用於不同主機間的文件同步和備份,當然也可以用在同一主機上。 一、實驗環境 rsync server:CentOS7.3 rsync client: CentOS
centos 7 編譯安裝以及配置rsync+inotify 文件實時同步操作記錄
註意 .com 操作記錄 修改 pid 指定 服務 entos 實時同步 準備工作: 服務器A 源文件服務器 服務器B 數據備份服務器 註意:服務器A修改文件 實時同步到 服務器B, 服務器A和B都需要安裝rsync,並且服務器A還需要安裝inotify 一、 安裝rs
Rsync+Inotify遠程實時同步
Rsync Linux Inotify Rsync簡介 rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他SSH、rsync主機同步。官方網站:http://rsync.samba.org/ 開始部署Rsync 1、在服
sersync+rsync實現實時同步備份
sersync+rsync實現實時同步備第一個裏程:下載安裝sersync軟件 先進行軟件下載,把軟件包上傳到系統中 unzip sersync_installdir_64bit.zip cd sersync_installdir_64bit mv sersync /usr/local/ tree 第二個裏
在Centos7上搭建SVN伺服器並實現自動同步至web目錄
前言: 由於最近跟學長一起合作完成一個小專案,然後我倆比較熟悉的版本控制是SVN,就考慮著在伺服器上搭建一個SVN伺服器。現在在這裡給出簡單的搭建過程。 (其實吧,能用git就儘量用git吧,好處自己百度,有關搭建請參考我的另一篇部落格搭建伺服器上的GIT並
Linux下的sersync和rsync實現實時同步
對於rsync這裡級不做過多的解釋了,主要介紹的是sersync的配置 1、如果電腦沒有安裝sersync服務的話,我們可以在這個地址進行安裝sersync下載地址 2、我們將下載過來的se
rsync+sersync實現實時同步
之前的一篇中記錄了rsync+inotify實現檔案的實時傳輸,礙於inotifywait的bug問題,線上同步網站檔案無法使用,所以再記錄一下sersync的配置,留待使用時檢視。 環境:centos6.8 IP及功能劃分: 172.17.9.151(釋出伺服器)
linux rsync遠程同步+sersync+rsync實現實時同步
保存 error 創建 服務 auth word add 同步時間 emc rsync是什麽 rsync全稱Remote Sync ,遠程同步,是Linux/UNIX系統下的文件同步和數據傳輸工具,數據備份,它采用了“rsync算法”使一個客戶機和遠程文件服務器之間的文
Linux—Centos7.4之搭建Mysql數據庫主從同步、讀寫分離
搭建Mysql主從同步、讀寫分離MySQL主從同步與讀寫分離 目錄第一部分 實驗環境第二部分 配置主從同步第三部分 配置讀寫分離第四部分 測試驗證 第一部分 實驗環境 實驗拓撲圖: 服務器五臺:1)客戶端服務器一臺:IP地址:192.168.80.10(client)需安裝軟件:mysql-bo
canal實戰(一):canal連線kafka實現實時同步mysql資料
前面已經介紹過了canal-kafka的應用。canal-kafka是把kafka作為客戶端,嵌入到canal中,並且在canal基礎上對原始碼進行了修改,以達到特定的實現canal到kafka的傳送。 canal-kafka是阿里雲最近更新的一個新的