溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

用Rsync,實(shí)現(xiàn)網(wǎng)站的增量部署

發(fā)布時(shí)間:2020-04-05 11:56:18 來源:網(wǎng)絡(luò) 閱讀:392 作者:zoollcar 欄目:系統(tǒng)運(yùn)維

整個(gè)網(wǎng)站通常會很大,尤其的其中靜態(tài)的圖片視頻之類,但我們通常不會修改他們,平常只會修改幾個(gè)文件,如果每次更新都將整個(gè)網(wǎng)站從本地上傳到服務(wù)器,無疑很費(fèi)時(shí)間,如果要找到修改的文件,并只上傳這些文件,甚至只上傳這些文件修改的部分,無疑會方便很多。

這就要用的到今天的主角Rsync,Rsync 可以執(zhí)行增量備份,它只傳輸源文件和目標(biāo)文件之間不一致的部分

環(huán)境:

web服務(wù)器root目錄 /usr/share/nginx/game.shaochenfeng.com
本地項(xiàng)目目錄 /git/game.shaochenfeng.com/public

首先建議配置好本地到web服務(wù)器的ssh免密碼登陸[如何?](),不配置需要以后每次同步時(shí)輸入密碼

1.在web服務(wù)器端安裝rsync

直接yum或apt安裝就可以,在服務(wù)器端和本地都安裝

yum install rsync # 紅帽系
apt install rsync # Debian系

為什么要在服務(wù)器也安裝rsync呢?因?yàn)殡m然是通過ssh建立鏈接,但rsync使用的是自己的傳輸規(guī)則,而不是scp

2.向服務(wù)器推送

在本地執(zhí)行,同步 本地項(xiàng)目目錄 到 web服務(wù)器root目錄

rsync -avz --delete <本地路徑> www@192.168.56.10:<遠(yuǎn)程路徑>
rsync -avz --delete /git/game.shaochenfeng.com/public www@192.168.56.10:/usr/share/nginx/game.shaochenfeng.com

其中參數(shù)

  • -a 是遞歸傳輸并保持文件屬性,在傳輸帶有文件夾時(shí)使用,并保留文件的屬性
  • -v 顯示傳輸過程
  • -z 進(jìn)行壓縮傳輸,提高效率
  • --delete 本地刪除的文件,在服務(wù)器也會被刪除

附上rsync常用選項(xiàng)

-a 包含-rtplgoD
-r 遞歸傳輸 同步有文件夾時(shí)使用
-v 顯示傳輸過程
-l 保留軟連接
-p 保持權(quán)限屬性
-o 保持屬主
-g 保持屬組
-D 保持設(shè)備文件信息
-t 保持文件的時(shí)間屬性,這個(gè)一定要有,不然下次同步不能判斷那些文件發(fā)生了修改
--backup 對服務(wù)器已存在的文件做一個(gè)備份,備份的文件名后默認(rèn)使用"~"做后綴
--delete 本地刪除的文件,在服務(wù)器也會被刪除
--exclude 過濾指定文件,如--exclude “l(fā)ogs”會把文件名包含logs的文件或者目錄過濾掉,不同步
-P 顯示同步過程,比如速率,比-v更加詳細(xì)
-u 加上該選項(xiàng)后,如果DEST中的文件比SRC新,則不同步
--size-only 默認(rèn)算法會檢查修改時(shí)間和文件大小,加上這個(gè)只檢查文件大小
-z 進(jìn)行壓縮傳輸,提高效率

歡迎訪問我的官網(wǎng),查看運(yùn)維技術(shù)文章 www.shaochenfeng.com

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI