您好,登錄后才能下訂單哦!
整個網站通常會很大,尤其的其中靜態的圖片視頻之類,但我們通常不會修改他們,平常只會修改幾個文件,如果每次更新都將整個網站從本地上傳到服務器,無疑很費時間,如果要找到修改的文件,并只上傳這些文件,甚至只上傳這些文件修改的部分,無疑會方便很多。
這就要用的到今天的主角Rsync,Rsync 可以執行增量備份,它只傳輸源文件和目標文件之間不一致的部分
web服務器root目錄 /usr/share/nginx/game.shaochenfeng.com
本地項目目錄 /git/game.shaochenfeng.com/public
首先建議配置好本地到web服務器的ssh免密碼登陸[如何?](),不配置需要以后每次同步時輸入密碼
直接yum或apt安裝就可以,在服務器端和本地都安裝
yum install rsync # 紅帽系
apt install rsync # Debian系
為什么要在服務器也安裝rsync呢?因為雖然是通過ssh建立鏈接,但rsync使用的是自己的傳輸規則,而不是scp
在本地執行,同步 本地項目目錄 到 web服務器root目錄
rsync -avz --delete <本地路徑> www@192.168.56.10:<遠程路徑>
rsync -avz --delete /git/game.shaochenfeng.com/public www@192.168.56.10:/usr/share/nginx/game.shaochenfeng.com
其中參數
-a 包含-rtplgoD
-r 遞歸傳輸 同步有文件夾時使用
-v 顯示傳輸過程
-l 保留軟連接
-p 保持權限屬性
-o 保持屬主
-g 保持屬組
-D 保持設備文件信息
-t 保持文件的時間屬性,這個一定要有,不然下次同步不能判斷那些文件發生了修改
--backup 對服務器已存在的文件做一個備份,備份的文件名后默認使用"~"做后綴
--delete 本地刪除的文件,在服務器也會被刪除
--exclude 過濾指定文件,如--exclude “logs”會把文件名包含logs的文件或者目錄過濾掉,不同步
-P 顯示同步過程,比如速率,比-v更加詳細
-u 加上該選項后,如果DEST中的文件比SRC新,則不同步
--size-only 默認算法會檢查修改時間和文件大小,加上這個只檢查文件大小
-z 進行壓縮傳輸,提高效率
歡迎訪問我的官網,查看運維技術文章 www.shaochenfeng.com
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。