rsync學習小結

2021-10-05 09:26:41 字數 2562 閱讀 6635

1 簡介

rsync(remote synchronization)遠端資料同步工具,可在兩台伺服器之間快速傳遞檔案,由於rsync只傳遞目標服務和源伺服器不同的資料,而不是全部檔案傳遞,所以rsync傳遞資料的速度很快。另外,傳遞後的檔案可以儲存原檔案的許可權、時間、軟硬鏈結。

(備註:文章中源伺服器代表檔案儲存的原始機器,rsync使目標伺服器從源服務同步內容,和源伺服器保持內容一致)

2 原理

概述:(0)伺服器之間按照約定塊大小和校驗方式傳輸資料;

(1)目標伺服器向源伺服器(修改了檔案的伺服器)傳送目標伺服器所有檔案資訊的資訊塊,每個資訊塊包含校驗和資訊;

(2)源伺服器接收到資訊塊資料,並和本地的資訊塊進行對比;

(3)將有差異的部分標記後傳送給目標伺服器;

(4)目標服務按照約定將差異檔案修改到本地。

詳細過程參看:

3 三種模式

3.1 本地模式

在本地拷貝檔案

rsync /origin/src/path/ /taget/src/path/
3.2 shell模式

通過ssh隧道方式進行檔案同步,第乙個路徑表示源服務路徑,第二個路徑表示目標伺服器路徑;

rsync /local/src/path/  usr@host:modelname/files/
上述表示本地向遠端推送檔案,命令中路徑資訊位置調換,則表示遠端向本地拉取資訊,後續rsync模式的路徑也是同樣的。

補充setfacl命令

#通過setfacl命令修改-m檔案為某使用者下的許可權#

setfacl -m u:username:rwx /files

#檢視***檔案或資料夾的使用者許可權

getfacl ***

setfacl、chmod、chown的區別:

本地向遠端推檔案,免密登入

本地操作

ssh-keygen -t rsa -b 2048

ssh-copy-id usr@***.***.***.***

3.3 rsync模式 

通過rsync協議傳輸資料,需要在遠端機器中啟動rsync服務。預設為873埠執行服務。

rsync /local/src/path/  usr@host::modelname/files/
免密登入方式

方式一:

修改登入者許可權rsyncd.conf

address = ***.***.***.***          #繫結的ip,一般為本機器的ip

use chroot = no

#是否限定在該目錄下(path)傳輸,

#如果為yes,在傳輸檔案之前首先chroot到path引數所指定的目錄下。

#是為了實現額外的安全保護,但需要用root許可權,並且不能備份指向外部檔案目錄,

#當存在指向外部檔案但軟硬鏈結時,需要設定use chroot=no。

#預設情況下為yes

numeric ids = no

read only = no

pid file = /var/run/rsyncd.pid

log file = /var/log/rsync.log

[modelname]

uid = username #傳輸檔案的使用者

gid = groupname #傳輸檔案的組

path = /search/files/ #規定了傳輸檔案的路徑

hosts allow = 10.0.0.0/8 #允許傳輸檔案的網路,多個網路用空格隔開

dont compress = *.gz *.bz2 #當檔案字尾名如左側時,rsync不進行壓縮

通過以下語句免密登入,modelname指向了path的路徑,檔案蔣傳輸到/search/files/資料夾下,因為還有haha/,所以會新建haha資料夾,然後在把haha.jpg檔案傳輸到/search/files/haha/資料夾下。

方式二:

修改配置檔案,並設定認證所需的賬號密碼

address = ***.***.***.***

pid file = /var/run/rsyncd.pid

log file = /var/log/rsync.log

[search]

path = /search/files/

readonly = no

auth users = username

secrets file = /etc/rsyncd_users.db

新建rsyncd_users.db,並在檔案中寫入使用者和密碼資訊

user:pwd
輸入命令,設定對映使用者對共享目錄有許可權

setfacl -m u:nobody:rwx /search/files/

面試小結 學習小結

1 string 字串常量,每次改變都會生成乙個新的物件 stringbuffer 執行緒安全 變數 改變不會生成乙個新的物件 stringbuilder 非執行緒安全 在非多執行緒的情況下,用stringbuilder會快些 2 activity的四種啟動模式 singletop 棧頂正好是該ac...

python小結教學 python學習小結

python具有非常豐富的資料型別,包括字串,列表,元組,字典集合等,每種資料型別的特點都大一樣,好好利用他們 可以讓你的python程式設計變的非常輕鬆,要好好利用就應該充分了解他們的特點,下面對他們的特點進行一些總結。python字串 字串在python中是乙個單個字元的字串的序列,可以對字串進...

rsync引數詳解

選項說明 v,verbose 詳細模式輸出 q,quiet 精簡輸出模式 c,checksum 開啟校驗開關,強制對檔案傳輸進行校驗 a,archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於 rlptgod r,recursive 對子目錄以遞迴模式處理 r,relative ...