女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Rsync遠程數(shù)據(jù)同步工具簡介

dyquk4xk2p3d ? 來源:博客園 ? 作者:一個小運維 ? 2022-10-12 09:12 ? 次閱讀

一、簡介

1 認識

Rsync(remote synchronize)是一個遠程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步多臺主機間的文件。Rsync使用所謂的“Rsync算法”來使本地和遠 程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快;

Rsync支持大多數(shù)的類Unix系統(tǒng),無論是Linux、Solaris還是BSD上都經(jīng)過了良好的測試;

此外,它在windows平臺下也有相應的版本,如cwRsync和Sync2NAS等工具

2 原理

Rsync本來是用于替代rcp的一個工具,目前由rsync.samba.org維護,所以rsync.conf文件的格式類似于samba的主配 置文件;

Rsync可以通過rsh或ssh使用,也能以daemon模式去運行 在以daemon方式運行時Rsync server會打開一個873 端口,等待客戶端去連接。

連接時,Rsync server會檢查口令是否相符,若通過口令查核,則可以開始進行文件傳輸。第一次連通完成時,會把整份文件傳輸一次,以后則就只需進行增量備份。

3 特點

可以鏡像保存整個目錄樹和文件系統(tǒng);

可以很容易做到保持原來文件的權限、時間、軟硬鏈接等;

無須特殊權限即可安裝;

優(yōu)化的流程,文件傳輸效率高;

可以使用rsh、ssh等方式來傳輸文件,當然也可以通過直接的socket連接;

支持匿名傳輸

二、ssh模式

1 本地間同步

環(huán)境:172.16.22.12

#mkdirsrc
#touchsrc/{1,2,3,4}
#mkdirdest
#rsync-avsrc/dest/--將src目錄里的所有的文件同步至dest目錄(不包含src本身)
#rsync-avsrcdest/--將src目錄包括自己整個同步至dest目錄
#rsync-avRsrc/dest/--即使src后面接有/,效果同上

2、局域網(wǎng)間同步

環(huán)境:172.16.22.11

#mkdirsrc
#touchsrc/{a,b,c,d}
#mkdirdest
#rsync-av172.16.22.12:/data/test/src/dest/--遠程同步至本地,需輸入root密碼
#rsync-avsrc/172.16.22.12:/data/test/dest/--本地文件同步至遠程
#rsync-avsrc172.16.22.12:/data/test/dest/--整個目錄同步過去
#rm-rfsrc/d--刪除一個文件d
#rsync-av--deletesrc/172.16.22.12:/data/test/dest/--delete,從目標目錄里面刪除無關的文件

3、局域網(wǎng)指定用戶同步

172.16.22.12

#useraddgeorge
#passwdgeorge
#mkdir/home/george/test
#touch/home/george/test/g{1,2,3,4}

172.16.22.11

#rsync-avsrc'-essh-lgeorge'172.16.22.12:/home/george--本地同步至遠程
#rsync-av172.16.22.12:/home/george/test/g*'-essh-lgeorge-p22'dest/

三、daemon模式

環(huán)境:192.168.22.11

1、服務啟動方式

1.1、對于負荷較重的 rsync 服務器應該使用獨立運行方式

#yuminstallrsyncxinetd--服務安裝
#/usr/bin/rsync--daemon

1.2、對于負荷較輕的 rsync 服務器可以使用 xinetd 運行方式

#yuminstallrsyncxinetd--服務安裝
#vim/etc/xinetd.d/rsync--配置托管服務,將下項改為no
disable=no
#/etc/init.d/xinetdstart--啟動托管服務xinetd
#chkconfigrsyncon
#netstat-ntpl|grep873--查看服務是否啟動

2、配置詳解

兩種 rsync 服務運行方式都需要配置 rsyncd.conf,其格式類似于 samba 的主配置文件

全局參數(shù)

在全局參數(shù)部分也可以定義模塊參數(shù),這時該參數(shù)的值就是所有模塊的默認值

address —在獨立運行時,用于指定的服務器運行的 IP 地址;由 xinetd 運行時將忽略此參數(shù),使用命令行上的 –address 選項替代。默認本地所有IP

port —指定 rsync 守護進程監(jiān)聽的端口號。由 xinetd 運行時將忽略此參數(shù),使用命令行上的 –port 選項替代。默認 873

motd file —指定一個消息文件,當客戶連接服務器時該文件的內(nèi)容顯示給客戶

pid file —rsync 的守護進程將其 PID 寫入指定的文件

log file —指定 rsync 守護進程的日志文件,而不將日志發(fā)送給 syslog

syslog facility —指定 rsync 發(fā)送日志消息給 syslog 時的消息級別

socket options —指定自定義 TCP 選項

lockfile —指定rsync的鎖文件存放路徑

timeout = 600 —超時時間

模塊參數(shù)

模塊參數(shù)主要用于定義 rsync 服務器哪個目錄要被同步。模塊聲明的格式必須為 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,類似于 Samba 服務器提供的共享名。而服務器真正同步的數(shù)據(jù)是通過 path 來指定的

基本模塊參數(shù)

path —指定當前模塊在 rsync 服務器上的同步路徑,該參數(shù)是必須指定的

comment —給模塊指定一個描述,該描述連同模塊名在客戶連接得到模塊列表時顯示給客戶

模塊控制參數(shù)

use chroot = —默認為 true,在傳輸文件之前首先 chroot 到 path 參數(shù)所指定的目錄下;優(yōu)點,安全;缺點,需要 root 權限,不能備份指向 path 外部的符號連接所指向的目錄文件

uid = —指定該模塊以指定的 UID 傳輸文件;默認nobody

gid = —指定該模塊以指定的 GID 傳輸文件;默認nobody

max connections —最大并發(fā)連接數(shù),0為不限制

lock file —指定支持 max connections 參數(shù)的鎖文件。默認 /var/run/rsyncd.lock

list —指定當客戶請求列出可以使用的模塊列表時,該模塊是否應該被列出。默認為 true,顯示

read only = —只讀選擇,也就是說,不讓客戶端上傳文件到服務器上。默認true

write only = —只寫選擇,也就是說,不讓客戶端從服務器上下載文件。默認false

ignore errors —忽略IO錯誤。默認true

ignore nonreadable —指定 rysnc服務器完全忽略那些用戶沒有訪問權限的文件。這對于在需要備份的目錄中有些不應該被備份者獲得的文件時是有意義的。false

timeout = —該選項可以覆蓋客戶指定的 IP 超時時間。從而確保 rsync 服務器不會永遠等待一個崩潰的客戶端。對于匿名 rsync 服務器來說,理想的數(shù)字是 600(單位為秒)。0 (未限制)

dont compress —用來指定那些在傳輸之前不進行壓縮處理的文件。該選項可以定義一些不允許客戶對該模塊使用的命令選項列表。必須使用選項全名,而不能是簡稱。當發(fā)生拒絕某個選項的情況時,服務器將報告錯誤信息然后退出。例如,要防止使用壓縮,應該是:”dont compress = ”。.gz .tgz .zip .z .rpm .deb .iso .bz2 .tbz

模塊文件篩選參數(shù)

exclude —指定多個由空格隔開的多個文件或目錄(相對路徑),并將其添加到 exclude 列表中。這等同于在客戶端命令中使用 –exclude 來指定模式

exclude from —指定一個包含 exclude 規(guī)則定義的文件名,服務器從該文件中讀取 exclude 列表定義

include —指定多個由空格隔開的多個文件或目錄(相對路徑),并將其添加到 include 列表中。這等同于在客戶端命令中使用 –include 來指定模式

include from —指定一個包含 include 規(guī)則定義的文件名,服務器從該文件中讀取 include 列表定義

模塊用戶認證參數(shù)

auth users —指定由空格或逗號分隔的用戶名列表,只有這些用戶才允許連接該模塊(和系統(tǒng)用戶沒有任何關系)。用戶名和口令以明文方式存放在 secrets file 參數(shù)指定的文件中。默認為匿名方式

secrets file —指定一個 rsync 認證口令文件。只有在 auth users 被定義時,該文件才起作用。文件權限必須是 600

strict modes —指定是否監(jiān)測口令文件的權限。為 true 則口令文件只能被 rsync 服務器運行身份的用戶訪問,其他任何用戶不可以訪問該文件。默認為true

模塊訪問控制參數(shù)

hosts allow —用一個主機列表指定哪些主機客戶允許連接該模塊。不匹配主機列表的主機將被拒絕。默認值為 *

hosts deny —用一個主機列表指定哪些主機客戶不允許連接該模塊

模塊日志參數(shù)

transfer logging —使 rsync 服務器將傳輸操作記錄到傳輸日志文件。默認值為false

log format —指定傳輸日志文件的字段。默認為:”%o %h [%a] %m (%u) %f %l”
設置了”log file”參數(shù)時,在日志每行的開始會添加”%t [%p]“;
可以使用的日志格式定義符如下所示:
%o —操作類型:”send” 或 “recv”
%h —遠程主機名
%a —遠程IP地址
%m —模塊名
%u —證的用戶名(匿名時是 null)
%f —文件名
%l —文件長度字符數(shù)
%p —該次 rsync 會話的 PID
%P —模塊路徑
%t —當前時間
%b —實際傳輸?shù)淖止?jié)數(shù)
%c —當發(fā)送文件時,記錄該文件的校驗碼

3、服務端配置

#vim/etc/rsyncd.conf--為rsyncd服務編輯配置文件,默認沒有,需自己編輯

uid = root —rsync運行權限為root

gid = root —rsync運行權限為root

use chroot = no —是否讓進程離開工作目錄

max connections = 5 —最大并發(fā)連接數(shù),0為不限制

timeout = 600 —超時時間

pid file = /var/run/rsyncd.pid —指定rsync的pid存放路徑

lockfile = /var/run/rsyncd.lock —指定rsync的鎖文件存放路徑

log file = /var/log/rsyncd.log —指定rsync的日志存放路徑

[web1] —模塊名稱
path = /data/test/src —該模塊存放文件的基礎路徑
ignore errors = yes —忽略一些無關的I/O錯誤
read only = no —客戶端可以上傳
write only = no —客戶端可以下載
hosts allow = 192.168.22.12 —允許連接的客戶端主機ip
hosts deny = —黑名單,表示任何主機
list = yes
auth users = web —認證此模塊的用戶名
secrets file = /etc/web.passwd —指定存放“用戶名:密碼”格式的文件

#mkdir/data/test/src--創(chuàng)建基礎目錄
#mkdir/data/test/src/george--再創(chuàng)建一個目錄
#touch/data/test/src/{1,2,3}
#echo"web:123">/etc/web.passwd--創(chuàng)建密碼文件
#chmod600/etc/web.passwd
#servicexinetdrestart

四、測試

1、客戶端

環(huán)境:192.168.22.12

#yum-yinstallrsync
#mkdir/data/test

2、小試參數(shù)

#[email protected]::web1/data/test/--輸入密碼 123;將服務器 web1 模塊里的文件同步至/data/test,參數(shù)說明:

-a —參數(shù),相當于-rlptgoD

-r —是遞歸

-l —是鏈接文件,意思是拷貝鏈接文件

-i —列出 rsync 服務器中的文件

-p —表示保持文件原有權限

-t —保持文件原有時間

-g —保持文件原有用戶組

-o —保持文件原有屬主

-D —相當于塊設備文件

-z —傳輸時壓縮

-P —傳輸進度

-v —傳輸時的進度等信息,和-P有點關系

#[email protected]::web1/data/test/--讓客戶端與服務器保持完全一致,--delete
#rsync-avzP--delete/data/test/[email protected]::web1--上傳客戶端文件至服務端
#rsync-avzP--delete/data/test/[email protected]::web1/george--上傳客戶端文件至服務端的george目錄
#rsync-ir--password-file=/tmp/[email protected]::web1--遞歸列出服務端web1模塊的文件
#rsync-avzP--exclude="*3*"--password-file=/tmp/[email protected]::web1/data/test/--同步除了路徑以及文件名中包含“3”*的所有文件

3、通過密碼文件同步

#echo"123">/tmp/rsync.password
#chmod600/tmp/rsync.password
#rsync-avzP--delete--password-file=/tmp/[email protected]::web1/data/test/--調(diào)用密碼文件

4、客戶端自動同步

#crontab-e

10 0 * rsync -avzP —delete —password-file=/tmp/rsync.password [email protected]::web1 /data/test/

#crontab-l

五、數(shù)據(jù)實時同步

環(huán)境:Rsync + Inotify-tools

1、inotify-tools

是為linux下 inotify文件監(jiān)控工具提供的一套c的開發(fā)接口庫函數(shù),同時還提供了一系列的命令行工具,這些工具可以用來監(jiān)控文件系統(tǒng)的事件

inotify-tools是用c編寫的,除了要求內(nèi)核支持 inotify 外,不依賴于其他

inotify-tools提供兩種工具:一是inotifywait,它是用來監(jiān)控文件或目錄的變化,二是inotifywatch,它是用來統(tǒng)計文件系統(tǒng)訪問的次數(shù)

2、安裝inotify-tools

下載地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

#yuminstall–ygcc--安裝依賴
#mkdir/usr/local/inotify
#tar-xfinotify-tools-3.14.tar.gz
#cdinotify-tools-3.14
#./configure--prefix=/usr/local/inotify/
#make&&makeinstall

3、設置環(huán)境變量

#vim/root/.bash_profile

export PATH=/usr/local/inotify/bin/:$PATH

#source/root/.bash_profile
#echo'/usr/local/inotify/lib'>>/etc/ld.so.conf--加載庫文件
#ldconfig
#ln-s/usr/local/inotify/include/usr/include/inotify

4、常用參數(shù)

-m —始終保持監(jiān)聽狀態(tài),默認觸發(fā)事件即退出

-r —遞歸查詢目錄

-q —打印出監(jiān)控事件

-e —定義監(jiān)控的事件,可用參數(shù):

access —訪問文件

modify —修改文件

attrib —屬性變更

open —打開文件

delete —刪除文件

create —新建文件

move —文件移動

—fromfile —從文件讀取需要監(jiān)視的文件或者排除的文件,一個文件一行,排除的文件以@開頭

—timefmt —時間格式

—format —輸出格式

—exclude —正則匹配需要排除的文件,大小寫敏感

—excludei —正則匹配需要排除的文件,忽略大小寫

%y%m%d %H%M —年月日時鐘

%T%w%f%e —時間路徑文件名狀態(tài)

5、測試一

檢測源目錄中是否有如下動作:modify,create,move,delete,attrib;

一旦發(fā)生則發(fā)布至目標機器;

方式為 ssh
src: 192.168.22.11(Rsync + Inotify-tools) dest: 192.168.22.12

兩臺機器需要做好 ssh 免密登錄

#mdkir/data/test/dest/--dest機器
#mdkir/data/test/src/--src機器
#rsync-av--delete/data/test/src/192.168.22.12:/data/test/dest--測試下命令
#vim/data/test/test.sh
#!/bin/bash
/usr/local/inotify/bin/inotifywait-mrq-emodify,create,move,delete,attrib/data/test/src|whilereadevents
do
rsync-a--delete/data/test/src/192.168.22.12:/data/test/dest
echo"`date +'%F %T'`出現(xiàn)事件:$events">>/tmp/rsync.log2>&1
done
#chmod755/data/test/test.sh
#/data/test/test.sh&
#echo'/data/test/test.sh&'>>/etc/rc.local--設置開機自啟

我們可以在目標機上也寫一個這樣的腳本:

rsync-a—delete/data/test/dest/192.168.22.11:/data/test/src;

這樣可以實現(xiàn)雙向同步

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11456

    瀏覽量

    212759
  • 遠程數(shù)據(jù)

    關注

    0

    文章

    14

    瀏覽量

    6872

原文標題:Linux 遠程數(shù)據(jù)同步工具詳解

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    rsync命令使用

    rsync 同步文件
    發(fā)表于 06-05 10:11

    執(zhí)行rsync的任務的2種方式解析

    前面介紹的rsync 5種方式當中,第二、第三(1個冒號)就屬于通過ssh的方式,這種方式其實就是讓用戶去登錄到遠程機器,然后執(zhí)行rsync的任務。
    的頭像 發(fā)表于 02-09 08:48 ?4787次閱讀

    Rsync遠程數(shù)據(jù)同步工具簡介

    Rsync(remote synchronize)是一個遠程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步
    的頭像 發(fā)表于 09-16 09:13 ?1289次閱讀

    Rsync遠程數(shù)據(jù)同步工具介紹

    Rsync(remote synchronize)是一個遠程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步
    的頭像 發(fā)表于 09-23 10:32 ?1207次閱讀

    如何在Linux使用Rsync命令復制和同步文件和目錄

    Rsync用于在兩個遠程計算機之間同步文件和文件夾。它僅通過傳輸源和目標之間的差異來提供快速的增量文件傳輸。
    的頭像 發(fā)表于 12-07 09:47 ?1.2w次閱讀

    Linux服務器數(shù)據(jù)同步Rsync算法

    timeout = —該選項可以覆蓋客戶指定的 IP 超時時間。從而確保 rsync 服務器不會永遠等待一個崩潰的客戶端。對于匿名 rsync 服務器來說,理想的數(shù)字是 600(單位為秒)。0 (未限制)
    發(fā)表于 12-22 11:41 ?386次閱讀

    如何在Linux使用rsync命令排除文件和目錄

    Rsync是一種快速同步的命令行程序,用于在兩個計算機之間同步文件和文件夾。借助Rsync,您可以鏡像數(shù)據(jù),創(chuàng)建增量備份。
    的頭像 發(fā)表于 12-23 16:49 ?8230次閱讀

    一篇文章學會數(shù)據(jù)備份利器rsync

    在Linux系統(tǒng)下數(shù)據(jù)備份的工具很多,但阿銘只用一種,那就是rsync,從字面意思上可以理解為remote sync(遠程同步)。
    的頭像 發(fā)表于 01-04 14:38 ?802次閱讀

    多臺Linux主機進行數(shù)據(jù)同步,少不了這款工具

    模塊參數(shù)主要用于定義 rsync 服務器哪個目錄要被同步。模塊聲明的格式必須為 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,類似于 Samba 服務器提供的共享名。而服務器真正
    的頭像 發(fā)表于 04-20 09:55 ?1067次閱讀

    Linux環(huán)境遠程數(shù)據(jù)同步的實現(xiàn)方案

    Rsync(remote synchronize)是一個遠程數(shù)據(jù)同步工具,可通過LAN/WAN快速同步
    發(fā)表于 10-12 14:54 ?503次閱讀

    linux系統(tǒng)備份與還原工具

    ,并詳細介紹它們的功能和使用方法。 一、rsync rsync 是一個功能強大的文件同步和備份工具,可以快速傳輸和同步文件以及文件夾。它支持
    的頭像 發(fā)表于 11-23 10:04 ?3178次閱讀

    linux備份還原工具有哪些?

    工具,并對它們的特點、功能和使用方法進行詳細說明。 rsync rsync是一個強大的文件同步和備份工具,通常用于在本地或
    的頭像 發(fā)表于 11-23 10:06 ?2022次閱讀

    如何使用SCP和Rsync遠程拷貝文件

    快一點,但當小文件眾多的情況下,rsync會導致硬盤I/O非常高,而scp基本不影響系統(tǒng)正常使用。scp在夸機器復制的時候為了提高數(shù)據(jù)的安全性,使用了ssh連接和加密方式,如果機器之間配置了ssh免密碼登錄,那在使用scp的時候密碼都不用輸入。
    的頭像 發(fā)表于 09-29 15:54 ?765次閱讀

    rsync 的免密傳輸(同步)文件

    要實現(xiàn) rsync 的免密傳輸(同步)文件,你需要設置 SSH 免密登錄。這樣,rsync 就可以在不需要輸入密碼的情況下通過 SSH 連接到遠程服務器并傳輸文件。以下是設置 SSH
    的頭像 發(fā)表于 12-23 16:26 ?1189次閱讀

    別讓數(shù)據(jù)丟失毀了你的樹莓派項目!rsync 自動化備份教程!

    適合為你的RaspberryPi設置創(chuàng)建可靠的本地備份。為什么Rsync是備份RaspberryPi的最佳工具Rsync遠程同步)是一個強
    的頭像 發(fā)表于 03-25 09:22 ?431次閱讀
    別讓<b class='flag-5'>數(shù)據(jù)</b>丟失毀了你的樹莓派項目!<b class='flag-5'>rsync</b> 自動化備份教程!