更新時間:2021-01-06 17:31:08 來源:動力節點 瀏覽1830次
文件同步是復制用戶創建和修改的文件到另外的設備(轉而進入傳統備份客戶進程)。在Linux系統中同步命令rsync命令可以實現文件同步。這里指的文件同步就是將jenkins工作目錄下面的文件同步到我們指定的目錄(如我們nginx配置的項目目錄)。并且rsync同步命令具備,高效、帶寬消耗低、支持復制鏈接、設備、屬主、屬組、權限等。下面我們一起來了解分析Linux文件同步命令rsync。
rsync是遠程(或本地)復制和同步文件最常用的命令。借助rsync命令,你可以跨目錄,跨磁盤和跨網絡遠程與本地數據進行復制和同步。舉例來說:在兩臺Linux主機之間進行數據備份和鏡像。本文介紹在Linux主機上進行遠程和本地傳輸文件的常見用法,不需要root賬戶也可以允許rsync。
rsync命令的特點:
1.高效地復制同步數據到對端,或者對端到本地。
2.支持復制鏈接、設備、屬主、屬組、權限。
3.比scp(Secure Copy)更快。rsync使用遠程更新協議( remote-update protocol ),這允許僅僅傳輸兩組文件之間的差異。對于首次傳輸,它將文件或目錄的全部內容從源復制到目標,但是從下次起,它僅將變化部分復制到目標。
4.rsync消耗較少的帶寬,因為它使用壓縮和解壓縮方法,同時發送和接收數據兩端。HTTP壓縮技術。
rsync命令語法格式
rsync [options] 資源源目錄 目標目錄
-v : 詳細模式輸出
-r : 遞歸拷貝數據,但是傳輸數據時不保留時間戳和權限
-a : 歸檔模式, 歸檔模式總是遞歸拷貝,而且保留符號鏈接、權限、屬主、屬組時間戳
-z : 壓縮傳輸
-h : human-readable
--progress: 顯示傳輸過程
--exclude=PATTERN 指定排除傳輸的文件模式
--include=PATTERN 指定需要傳輸的文件模式
--delete 同步時,刪除那些DST中有,而SRC沒有的文件
--max-size:限定傳輸文件大小的上限
--dry-run:顯示那些文件將被傳輸,并不會實際傳輸
--bwlimit:限制傳輸帶寬
-W:拷貝文件,不進行增量檢測
下面我們來看rsync命令實現本地同步某個文件的實例:
[root@iZ7eetumtw8c9jZ jenkins]# rsync -zvrh remoting.jar /root/work/
sending incremental file list
created directory /root/work
remoting.jar
sent 796.37K bytes received 68 bytes 1.59M bytes/sec
total size is 872.44K speedup is 1.10
同步結果查看
[root@iZ7eetumtw8c9jZ jenkins]# ll /root/work/
total 852
-rw-r--r-- 1 root root 872440 Nov 3 20:03 remoting.jar
同步某個目錄
[root@iZ7eetumtw8c9jZ jenkins]# rsync -zvrh workspace/ /root/work/
sending incremental file list
公司服務器測試/tests/Unit/
公司服務器測試/tests/Unit/ExampleTest.php
公司服務器測試@tmp/
sent 18.82M bytes received 7.30K bytes 7.53M bytes/sec
total size is 29.87M speedup is 1.59
同步結果查看
[root@iZ7eetumtw8c9jZ jenkins]# ll /root/work/
total 868
-rw-r--r-- 1 root root 872440 Nov 3 20:03 remoting.jar
drwxr-xr-x 11 root root 4096 Nov 3 20:05 公司服務器測試
drwxr-xr-x 2 root root 4096 Nov 3 20:04 公司服務器測試@tmp
同步遠程目錄
[root@tecmint]$ rsync -avz rpmpkgs/ root@192.168.0.101:/home/
root@192.168.0.101's password:
sending incremental file list
./
httpd-2.2.3-82.el5.centos.i386.rpm
mod_ssl-2.2.3-82.el5.centos.i386.rpm
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
sent 4993369 bytes received 91 bytes 399476.80 bytes/sec
total size is 4991313 speedup is 1.00
使用rsync命令最引人入勝的地方就是可以實現增量同步,而不是全量同步。這樣減少帶寬的消耗,也加快了傳輸的速度。當然,Linux文件同步命令也是有弊端的,這種情況下無法保護移動設備狀態,而這對文件的快速恢復是至關重要的。也許通過在本站的Linux教程中的學習,我們可以找到兩全其美的方法來解決這個問題。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習