Sersync和Rsync部署

學習參考連接

以下是我在學習過程中借鑒的經驗和下載資源鏈接,感謝幾位大佬的幫助,也供各位參考。

Rsync踩坑:

https://blog.csdn.net/XiaoXiaoYunXing/article/details/120160395

Sersync下載源

http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

Rsync+Sersync部署配置

https://zhuanlan.zhihu.com/p/489165901

Sersync和Rsync部署

Rsync可以遠程同步,支持本地復制,實時同步需要借助第三方工具sersync/inotify

Sersync可以記錄下被監聽目錄中發生變化的(包括增加、刪除、修改)具體某一個文件或者某一個目錄的名字,然后使用rsync同步的時候

Inotify只能記錄下被監聽的目錄發生了變化(增,刪,改)并沒有把具體是哪個文件或者哪個目錄發生了變化記錄下來

1、Rsync服務安裝

在master和minion上先安裝Rsync服務

執行命令 yum?install –y rsync

2、配置rsyncd.conf

vim /etc/rsyncd.conf

uid =?root

gid =?root

use chroot =?no

max connections =?36000

timeout =?600

pid file =/var/run/rsyncd.pid

lock file =/var/run/rsync.lock

log file =?/var/log/rsyncd.log

ignore errors =?no

read only =?no

list =?no

hosts allow =?192.168.183.135

hosts deny =?*

auth users =?root

secrets file =/etc/rsync.password

[backup]

path =?/backup/sersync/

# 配置注解:

# uid:指定傳輸文件時的用戶

# gid:指定傳輸文件時的組

# use chroot true|false:表示在傳輸文件前首先chroot到path參數所指定的目錄下,可以實現安全防護,但缺點是需要以root權限,并且不能備份指向外部的符號連接所指向的目錄文件,默認情況下chroot值為true

# max connections:指定最大的連接數,默認是0,即沒有限制

# read only ture|false:如果為true,則不能上傳到該模塊指定的路徑下

# list:表示當用戶查詢該服務器上的可用模塊時,該模塊是否被列出,true為列出,false為隱藏

# auth users:指定傳輸時要使用的用戶名

# secrets file:指定密碼文件,注意該密碼文件的權限一定要是600,格式:用戶名:密碼

# hosts allow:是允許同步的主機,非本機IP,可以是對方IP或者網段,如果是多個中間用空格隔開

# hosts deny:拒絕同步的主機,可以是IP或者網段,如果是多個中間用空格隔開

# [backup]:同步的模塊名

# path:同步的路徑

3、設置同步用戶和密碼

這里同步用的root用戶,沒有專門創建同步用戶

rsyncd.conf中secrets file配置選項中的rsync.password

secrets file =/etc/rsync.password

需要在etc下創建rsync.password,保存用戶和密碼

命令 ?echo "root:123456" >/etc/rsync.password

改變權限 Chmod?+600 /etc/rsync.password

4、創建同步目錄

即rsyncd.conf中path配置選項中的目錄

[backup]

path =?/backup/sersync/

執行命令 mkdir?–p /backup/sersync

啟動守護進程并寫入開機自啟動

rsync --daemon --config=/etc/rsyncd.conf

echo "rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

tail -1 /etc/rc.local

reboot

systemctl status rc-local.service

netstat -ntlp | grep rsync

5、測試rsync

創建臨時同步目錄 mkdir?–p /var/ftp/pub/sersync/

執行命令

rsync -avzP /var/ftp/pub/sersync/ root@192.168.183.134::backup --password-file=/etc/rsync.password

如果不確定 rsync 執行后會產生什么結果,可以先用-n或--dry-run參數模擬執行的結果

-n參數模擬命令執行的結果,并不真的執行命令。-v參數則是將結果輸出到終端

???????6、下載部署sersync

可用下載地址如下http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

mkdir /usr/local/sersync/

cd?/usr/local/sersync/ && mkdir bin conf logs

上傳上述下載的包到/usr/local/sersync/

tar –xvf sersync2.5.4_64bit_binary_stable_final.tar.gz

mv GNU-Linux-x86/sersync2 ./bin/sersync

mv GNU-Linux-x86/confxml.xml ?./conf/

???????7、配置config.xml

建議拷貝一份在修改?cp confxml.xml confxml.xml.bak

需要把監控的目錄數據同步到master指定的模塊下,前面寫了slave的模塊名是backup對應的目錄是:/backup/

# 如果系統linux7以上,需要將xfs="false"修改成xfs="true",否則sersync無法遞歸監控

<fileSystem xfs="true"/>

<localpath watch="/var/ftp/pub/sersync">

<remote ip="192.168.183.134" name="backup"/>

</localpath>

# 指定rsync的虛擬用戶和密碼文件路徑

<rsync>

<commonParams params="-artuz"/>

<auth start="true" users="root" passwordfile="/etc/rsync.password"/>

<userDefinedPort start="false" port="874"/><!-- port=874 -->

<timeout start="false" time="100"/><!-- timeout=100 -->

<ssh start="false"/>

</rsync>

echo "export PATH=$PATH:/usr/local/sersync/bin/" >>/etc/profile

source /etc/profile

which sersync

???????8、啟動sersync

sersync -d -r -o /usr/local/sersync/conf/confxml.xml

# 參數注解:

# -d:啟用守護進程模式

# -r:在監控前,將監控目錄與遠程主機用rsync命令推送一遍

# -o:指定配置文件,默認使用confxml.xml文件

???????9、文件同步測試

在 192.168.183.135上執行以下命令

cd /var/ftp/pub/sersync/

ll

在192.168.183.134上執行以下命令

cd?/backup/sersync

ll

在192.168.183.135上創建文件和目錄,命令如下

touch?{1..10} && mkdir test1 test2 test3

ll

到192.168.183.134:/backup/sersync目錄下查看同步結果

文件同步成功

???????10、加入開機啟動項,重啟服務器查看

ln -s ?/usr/local/sersync/bin/sersync /usr/local/bin/sersync

echo "sersync -d -r -o /usr/local/sersync/conf/confxml.xml" >>/etc/rc.local

chmod +x /etc/rc.d/rc.local

systemctl status rc-local.service

tail -1 /etc/rc.local

reboot

???????11、Rsync參數

-n參數模擬命令執行的結果,并不真的執行命令。-v參數則是將結果輸出到終端

--append參數指定文件接著上次中斷的地方,繼續傳輸。

--append-verify參數跟--append參數類似,但會對傳輸完成后的文件進行一次校驗。如果校驗失敗,將重新發送整個文件。

-b、--backup參數指定在刪除或更新目標目錄已經存在的文件時,將該文件更名后進行備份,默認行為是刪除。更名規則是添加由--suffix參數指定的文件后綴名,默認是~。

--backup-dir參數指定文件備份時存放的目錄,比如--backup-dir=/path/to/backups。

--bwlimit參數指定帶寬限制,默認單位是 KB/s,比如--bwlimit=100。

-c、--checksum參數改變rsync的校驗方式。默認情況下,rsync 只檢查文件的大小和最后修改日期是否發生變化,如果發生變化,就重新傳輸;使用這個參數以后,則通過判斷文件內容的校驗和,決定是否重新傳輸。

--delete參數刪除只存在于目標目錄、不存在于源目標的文件,即保證目標目錄是源目標的鏡像。

-e參數指定使用 SSH 協議傳輸數據。

--exclude參數指定排除不進行同步的文件,比如--exclude="*.iso"。

--exclude-from參數指定一個本地文件,里面是需要排除的文件模式,每個模式一行。

--existing、--ignore-non-existing參數表示不同步目標目錄中不存在的文件和目錄。

-h參數表示以人類可讀的格式輸出。

-h、--help參數返回幫助信息。

-i參數表示輸出源目錄與目標目錄之間文件差異的詳細情況。

--ignore-existing參數表示只要該文件在目標目錄中已經存在,就跳過去,不再同步這些文件。

--include參數指定同步時要包括的文件,一般與--exclude結合使用。

--link-dest參數指定增量備份的基準目錄。

-m參數指定不同步空目錄。

--max-size參數設置傳輸的最大文件的大小限制,比如不超過200KB(--max-size='200k')。

--min-size參數設置傳輸的最小文件的大小限制,比如不小于10KB(--min-size=10k)。

-n參數或--dry-run參數模擬將要執行的操作,而并不真的執行。配合-v參數使用,可以看到哪些內容會被同步過去。

-P參數是--progress和--partial這兩個參數的結合。

--partial參數允許恢復中斷的傳輸。不使用該參數時,rsync會刪除傳輸到一半被打斷的文件;使用該參數后,傳輸到一半的文件也會同步到目標目錄,下次同步時再恢復中斷的傳輸。一般需要與--append或--append-verify配合使用。

--partial-dir參數指定將傳輸到一半的文件保存到一個臨時目錄,比如--partial-dir=.rsync-partial。一般需要與--append或--append-verify配合使用。

--progress參數表示顯示進展。

-r參數表示遞歸,即包含子目錄。

--remove-source-files參數表示傳輸成功后,刪除發送方的文件。

--size-only參數表示只同步大小有變化的文件,不考慮文件修改時間的差異。

--suffix參數指定文件名備份時,對文件名添加的后綴,默認是~。

-u、--update參數表示同步時跳過目標目錄中修改時間更新的文件,即不同步這些有更新的時間戳的文件。

-v參數表示輸出細節。-vv表示輸出更詳細的信息,-vvv表示輸出最詳細的信息。

--version參數返回 rsync 的版本。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89433.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89433.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89433.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django基礎(四)———模板常用過濾器

前言上篇文章給大家介紹了DTL模板的部分知識點這篇文章繼續帶大家深入理解Django框架中的模板過濾器一、模板常用過濾器1.add將傳進來的參數添加到原來的值上面。這個過濾器會嘗試將值和 參數轉換成整形然后進行相加。如果轉換成整形過程中失敗了&#xff0c;那么會將值和參數進…

國內MCP服務器搜索引擎有哪些?MCP導航站平臺推薦

在人工智能技術蓬勃發展的今天&#xff0c;AI模型與外部工具和服務的交互能力正成為推動技術進步的關鍵。AIbase&#xff08;<https://mcp.aibase.cn/>&#xff09;作為一個專注于MCP(Model Context Protocol&#xff0c;模型上下文協議)服務器的集合平臺&#xff0c;為全…

Python中with的作用和用法

在這里我們來詳細解釋一下Python中非常重要的 with 語句。 我會從 “為什么需要它” 開始&#xff0c;然后講解 “它是什么以及如何使用”&#xff0c;最后深入到 “它的工作原理” 和 “如何自定義”。1. 為什么需要 with 語句&#xff1f;(The Problem) 在編程中&#xff0c;…

緩存雪崩、緩存穿透,緩存擊穿

Redis是一個完全開源免費的高性能非關系型&#xff08;NOSQL&#xff09;的key-value數據庫。 Redis不可能把所有的數據都緩存起來(內存昂貴且有限)&#xff0c;所以Redis需要對數據 設置過期時間&#xff0c;并采用的是惰性刪除定期刪除兩種策略對過期鍵刪除。Redis對過期鍵的…

springmvc跨域解決方案

在Spring MVC中處理跨域請求&#xff08;CORS&#xff0c;Cross-Origin Resource Sharing&#xff09;通常涉及到配置HTTP響應頭&#xff0c;以允許來自不同源的請求。Spring MVC提供了多種方式來配置CORS&#xff0c;包括全局配置和局部配置。 使用CrossOrigin注解 在控制器的…

btstack移植之安全配對(二)

3.13.3 Legacy配對首先&#xff0c;我們回復的paring response中&#xff0c;可以看到我們不支持secure connection&#xff0c;所以我們走的是legacy配對模式。圖3-74 secure連接不支持然后&#xff0c;master在pairing confirm包中回復了confirm value。圖3-75 master發送con…

FRP配置( CentOS 7 上安裝 FRP教程 )

** 如果你們公司沒有公網IP&#xff0c;但是又想實現內網穿透&#xff0c;遠程調用接口&#xff0c;在家也能調用公司服務器&#xff0c;但是nkg ssl有問題&#xff0c;花生殼坑壁&#xff0c;那么FRP是你最佳的選擇&#xff01;&#xff01;&#xff01;** 不過有個前提&#…

第三次mysql作業

建立庫建立mydb11_syu庫2.創建s表&#xff0c;創建sc表二&#xff0e;插入數據向s表插入數據2.向sc表插入數據三&#xff0e;查詢1.分別查詢student表和score表的所有記錄2.查詢student表的第2條到5條記錄3.從student表中查詢計算機系和英語系的學生的信息4.從student表中查詢年…

不同場景下git指令的搭配

添加賬號 git config --global user.name "YourName" git config --global user.email "your_emailexample.com"設置 Git 默認分支名稱為 main&#xff1a; git config --global init.defaultBranch main初始化倉庫&#xff1a; git init配置SSH 密鑰 如果…

NLP——遷移學習

一、遷移學習的概念 1.預訓練模型(Pretrained model) 定義: 簡單來說別人訓練好的模型。一般預訓練模型具備復雜的網絡模型結構&#xff1b;一般是在大量的語料下訓練完成的。 2.微調(Fine-tuning) 定義:一般是對預訓練語言模型&#xff0c;進行垂直領域數據的微調&#xff0c;…

Ubuntu 安裝

文章目錄硬件準備下載 Ubuntu 鏡像創建可啟動 USB從 USB 驅動器啟動安裝 Ubuntu不要忘記更新&#xff01;用了十多年的筆記本&#xff0c;手邊正好有個500G的固態&#xff0c;準備換上。考慮到機器的硬件配置&#xff0c;現在使用windows10實在是有點卡&#xff0c;ubuntu卻剛好…

【46】MFC入門到精通——MFC顯示實時時間,獲取系統當前時間GetCurrentTime()、獲取本地時間GetLocalTime()

文章目錄1 MFC獲取時間方法方法一&#xff1a;獲取系統當前時間GetCurrentTime()方法二&#xff1a;獲取本地時間GetLocalTime()使用GetTickCount()獲取程序運行時間2 MFC顯示實時時間 使用方法2.1 獲取時間2.2 類向導 添加定時器函數 OnTimer2.3 初始化 設置定時器2.4 定時器函…

Linux717 SWAP擴容;邏輯卷條帶化

root192.168.235.20s password:┌────────────────────────────────────────────────────────────────────┐│ ? MobaXterm 20.0 ? ││ …

人類社會發展過程中的熵增定律

引子研究美國羅斯福新政期間的法案為什么會對美國經濟恢復起作用&#xff1f;與千金買馬骨和移木賞金之間的區別與聯系&#xff1f;以下為豆包 AI回答一、羅斯福新政法案對美國經濟起作用的原因羅斯福新政&#xff08;1933-1939年&#xff09;通過一系列政策應對大蕭條&#x…

Spring-AI系列-入門篇-核心概念、組件和生產要素

原文-Spring AI知識庫&#xff0c;歡迎大家評論互動 師父領進門&#xff0c;修行靠自己。 Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design an…

從瀏覽器到服務器:TCP 段的網絡傳輸之旅

本文以簡化的網絡架構為例&#xff0c;詳細介紹了當你在瀏覽器中輸入網址&#xff08;例如www.google.com&#xff09;并按下回車鍵后&#xff0c;TCP段的完整傳輸過程。我們將探討DNS解析、ARP、TCP/IP封裝、PAT和路由如何協同工作&#xff0c;將數據從個人電腦通過局域網和廣…

HCIE - 云計算拿下后的職業選擇如何規劃?

Hello&#xff01;大家好&#xff0c;小編是一名專注 IT 領域的資深探索家。我們聊聊HCIE - 云計算&#xff0c;這個認證作為華為認證體系中云計算領域的專家級認證&#xff0c;標志著持有者具備企業級云架構設計、復雜云平臺運維及跨場景技術落地能力。但認證本身只是職業進階…

1-創建Vue3項目

創建Vue3項目前提 已安裝 18.3 或更高版本的 Node.js vue 官網 https://vuejs.org/ 創建一個 Vue 應用 ① 新建項目目錄&#xff0c;使用 VSCode 打開 VSCode 可安裝 Vue-Official 插件協助開發 ② 執行 create vue 指令創建 vue 應用 npm create vuelatest這一指令將…

Codex,Copilot 是什么

Codex是什么 Codex 是 OpenAI 研發的一款專注于代碼生成的大型語言模型,它可以根據自然語言描述自動編寫程序代碼,在軟件開發、自動化測試等領域展現出了強大的應用潛力。下面為你詳細介紹: 1. 核心功能 代碼生成:Codex 能夠依據自然語言指令生成代碼,像函數、類或者完整…

Typecho插件開發:自定義表單驗證規則addRule實戰指南

文章目錄 Typecho表單驗證進階:為插件和主題添加自定義addRule驗證規則 引言 一、Typecho表單驗證基礎 1.1 Typecho表單系統概述 1.2 addRule方法解析 二、自定義驗證規則實現 2.1 創建自定義驗證類 2.2 注冊自定義驗證規則 2.3 使用自定義驗證規則 三、高級驗證場景實現 3.1 …