麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > 管理維護 > 正文

rsync客戶端命令詳解

2024-09-10 14:19:03
字體:
來源:轉載
供稿:網友

在對rsync服務器配置結束以后,下一步就需要在客戶端發出rsync命令來實現將服務器端的文件備份到客戶端來。rsync是一個功能非常強大的工具,其命令也有很多功能特色選項,我們下面就對它的選項一一進行分析說明。

 

首先,rsync的命令格式可以為:

 

rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

 

rsync [OPTION]... [USER@]HOST:SRC DEST

 

rsync [OPTION]... SRC [SRC]... DEST

 

rsync [OPTION]... [USER@]HOST::SRC [DEST]

 

rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

 

rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync有六種不同的工作模式:

 

拷貝本地文件;當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。

 

使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。

 

使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。

 

從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。

 

從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟動該模式。

 

列遠程機的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機信息即可。

1、用法

 

在使用rsync傳輸文件時,需要指定一個源和一個目的,其中一個可能是遠程機器的資源信息。例如:

 

rsync *.c foo:src/

 

表示將傳輸當前目錄下所有以.c結尾的文件到機器foo的src目錄下。如果任何文件已經存在于遠程系統,則會調用遠程更新協議來實現僅僅傳輸那些更新過的文件。

 

rsync -avz foo:src/bar /data/tmp

 

該命令則遞歸地傳輸機器foo上的src/bar目錄下的所有內容到本地/data/tmp/bar目錄中。文件以歸檔模式進行傳輸,以確保符號鏈結、屬性、權限、屬主等信息在傳輸中都被保存。此外,可以使用壓縮技術來加快數據傳輸:

 

rsync -avz foo:src/bar/ /data/tmp

 

路徑信息以"/"結尾時表示拷貝該目錄,而不以"/"結尾表示拷貝該目錄。當配合使用--delete選項時這兩種情況的區別將會表現出來。

 

也可以以本地模式來使用rsync,如果SRC和DST路徑中都沒有任何":"符號則表示該命令運行在本地模式,等同于cp命令。

 

rsync somehost.mydomain.com::

 

這種模式則將會列出somehost.mydomain.com.可以訪問的所有模塊信息。

 

選項說明

 

-v, --verbose 詳細模式輸出

-q, --quiet 精簡輸出模式

-c, --checksum 打開校驗開關,強制對文件傳輸進行校驗

-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD

-r, --recursive 對子目錄以遞歸模式處理

-R, --relative 使用相對路徑信息

 

rsync foo/bar/foo.c remote:/tmp/

 

則在/tmp目錄下創建foo.c文件,而如果使用-R參數:

 

rsync -R foo/bar/foo.c remote:/tmp/

 

則會創建文件/tmp/foo/bar/foo.c,也就是會保持完全路徑信息。

 

-b, --backup 創建備份,也就是對于目的已經存在有同樣的文件名時,將老的文件重新命名為~filename。可以使用--suffix選項來指定不同的備份文件前綴。

--backup-dir 將備份文件(如~filename)存放在在目錄下。

-suffix=SUFFIX 定義備份文件前綴

-u, --update 僅僅進行更新,也就是跳過所有已經存在于DST,并且文件時間晚于要備份的文件。(不覆蓋更新的文件)

-l, --links 保留軟鏈結

-L, --copy-links 想對待常規文件一樣處理軟鏈結

--copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結

--safe-links 忽略指向SRC路徑目錄樹以外的鏈結

-H, --hard-links 保留硬鏈結

-p, --perms 保持文件權限

-o, --owner 保持文件屬主信息

-g, --group 保持文件屬組信息

-D, --devices 保持設備文件信息

-t, --times 保持文件時間信息

-S, --sparse 對稀疏文件進行特殊處理以節省DST的空間

-n, --dry-run現實哪些文件將被傳輸

-W, --whole-file 拷貝文件,不進行增量檢測

-x, --one-file-system 不要跨越文件系統邊界

-B, --block-size=SIZE 檢驗算法使用的塊尺寸,默認是700字節

-e, --rsh=COMMAND 指定替代rsh的shell程序

--rsync-path=PATH 指定遠程服務器上的rsync命令所在路徑信息

-C, --cvs-exclude 使用和CVS一樣的方法自動忽略文件,用來排除那些不希望傳輸的文件

--existing 僅僅更新那些已經存在于DST的文件,而不備份那些新創建的文件

--delete 刪除那些DST中SRC沒有的文件

--delete-excluded 同樣刪除接收端那些被該選項指定排除的文件

--delete-after 傳輸結束以后再刪除

--ignore-errors 及時出現IO錯誤也進行刪除

--max-delete=NUM 最多刪除NUM個文件

--partial 保留那些因故沒有完全傳輸的文件,以是加快隨后的再次傳輸

--force 強制刪除目錄,即使不為空

--numeric-ids 不將數字的用戶和組ID匹配為用戶名和組名

--timeout=TIME IP超時時間,單位為秒

-I, --ignore-times 不跳過那些有同樣的時間和長度的文件

--size-only 當決定是否要備份文件時,僅僅察看文件大小而不考慮文件時間

--modify-window=NUM 決定文件是否時間相同時使用的時間戳窗口,默認為0

-T --temp-dir=DIR 在DIR中創建臨時文件

--compare-dest=DIR 同樣比較DIR中的文件來決定是否需要備份

-P 等同于 --partial

--progress 顯示備份過程

-z, --compress 對備份的文件在傳輸時進行壓縮處理

--exclude=PATTERN 指定排除不需要傳輸的文件模式

--include=PATTERN 指定不排除而需要傳輸的文件模式

--exclude-from=FILE 排除FILE中指定模式的文件

--include-from=FILE 不排除FILE指定模式匹配的文件

--version 打印版本信息

--address 綁定到特定的地址

--config=FILE 指定其他的配置文件,不使用默認的rsyncd.conf文件

--port=PORT 指定其他的rsync服務端口

--blocking-io 對遠程shell使用阻塞IO

-stats 給出某些文件的傳輸狀態

--progress 在傳輸時現實傳輸過程

--log-format=formAT 指定日志文件格式

--password-file=FILE 從FILE中得到密碼

--bwlimit=KBPS 限制I/O帶寬,KBytes per second

-h, --help 顯示幫助信息

實例分析

這里假設有兩臺服務器:A和B。其中A是主web服務器,具有域名www.linuxaid.com.cn(202.99.11.120),B服務器是備份機,其域名為backup.linuxaid.com.cn(202.99.11.121)。其中A的web內容存放在以下幾個地方:/www/和/home/web_user1/和/home/web_user2/。我們需要在備份機B上建立對這幾個目錄內容的備份。

 

服務器配置實例

 

那么在www.linuxaid.com.cn上創建rsyncd的配置文件/etc/rsyncd.conf,內容如下:

 

uid = nobody

gid = nobody

use chroot = no

max connections = 4

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

 

[www]

path = /www/

ignore errors

read only = true

list = false

hosts allow = 202.99.11.121

hosts deny = 0.0.0.0/32

auth users = backup

secrets file = /etc/backserver.pas

 

[web_user1]

path = /home/web_user1/

ignore errors

read only = true

list = false

hosts allow = 202.99.11.121

hosts deny = 0.0.0.0/32

uid = web_user1

gid = web_user1

auth users = backup

secrets file = /etc/backserver.pas

 

[web_user2]

path = /home/web_user2/

ignore errors

read only = true

list = false

hosts allow = 202.99.11.121

hosts deny = 0.0.0.0/32

uid = web_user2

gid = web_user2

auth users = backup

secrets file = /etc/backserver.pas

 

這里定義有四個三個模塊,分別對應于三個需要備份的目錄樹。這里只允許202.99.11.121備份本機的數據,并且需要認證。三個模塊授權的備份用戶都為backup,并且用戶信息保存在文件/etc/backserver.pas中,其內容如下:

 

backup:bk_passwd

 

并且該文件只能是root用戶可讀寫的,否則rsyncd啟動時會出錯。這些文件配置完畢以后,就需要在A服務器上啟動rsyncd服務器:

 

rsync --daemon

 

客戶命令示例

 

/usr/local/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress [email protected]::www /backup/www/ --password-file=/etc/rsync.pass

 

上面這個命令行中-vzrtopg里的v是verbose,z是壓縮,r是recursive,topg都是保持文件原有屬性如屬主、時間的參數。--progress是指顯示出詳細的進度情況,--delete是指如果服務器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致。--exclude "logs/" 表示不對/www/logs目錄下的文件進行備份。--exclude "conf/ssl.*/"表示不對/www/conf/ssl.*/目錄下的文件進行備份。

 

[email protected]::www 表示對該命令是對服務器202.99.11.120中的www模塊進行備份,backup表示使用backup來對該模塊進行備份。

 

--password-file=/etc/rsync.pass來指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權限屬性要設得只有root可讀。

 

這里將備份的內容存放在備份機的/backup/www/目錄下。

 

[root@linuxaid /]# /usr/local/bin/rsync -vzrtopg --delete --exclude "logs/" --exclude "conf/ssl.*/" --progress [email protected]::www /backup/www/ --password-file=/etc/rsync.pass

receiving file list ... done

./

1

785 (100%)

1.py

4086 (100%)

2.py

10680 (100%)

a

0 (100%)

ip

3956 (100%)

./

wrote 2900 bytes read 145499 bytes 576.34 bytes/sec

total size is 2374927 speedup is 45.34

對其它兩個模塊操作的命令分別為:

/usr/local/bin/rsync -vzrtopg --delete --progress [email protected]::web_user1 /backup/web_user1/ --password-file=/etc/rsync.pass

/usr/local/bin/rsync -vzrtopg --delete --progress [email protected]::web_user2 /backup/web_user2/ --password-file=/etc/rsync.pass

可以將客戶命令通過crontab -e命令來實現自動備份,如crontab -e:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精国产品一区二区三区四季综 | 中国成人在线视频 | 成人国产精品一区 | 亚洲成人伊人 | 日韩黄色精品 | 中文字幕亚洲情99在线 | 久久精品在线免费观看 | 亚洲精品午夜国产va久久成人 | 羞羞网站 | 黄色免费播放网站 | 黄色aaa视频 | 一级国产免费 | 孕妇体内谢精满日本电影 | 性欧美日本 | 免费观看高清视频网站 | 在线播放91 | 国内精品伊人久久久久网站 | 久久综合艹 | 91精品国产综合久久久欧美 | 色天天综合网 | 羞羞视频2023 | 一级做受大片免费视频 | 极品美女一级毛片 | 综合网天天射 | 乱淫67194 | 黄色网址免费在线播放 | 国产91精品久久久久久 | wwwcom国产 | 久久精品一区二区三区不卡牛牛 | 狠狠撸电影 | 久久久久久久久久久av | 狠狠干视频网站 | 日本在线观看一区二区 | 蜜桃av鲁一鲁一鲁一鲁 | 久久精品视频国产 | 狠狠操夜夜爱 | 欧美日韩在线播放 | 成年免费视频黄网站在线观看 | 天天干天天碰 | 国产精品一区二区三区在线播放 | 免费黄色小视频网站 |