您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux用cp和rsync同步文件時怎么跳過指定目錄”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Linux用cp和rsync同步文件時怎么跳過指定目錄”文章能幫助大家解決問題。
需求是:某測試站點,在某個節點的時候需要同步到正式站點去,但是里面的config目錄不能覆蓋
方法一:終端命令行下執行以下命令
cp -r `find /projecta -type d -path /projecta/common/config -prune -o -print | sed 1d ` /projectb/
方法二:
localhost # find projectb/ommon/config | xargs touch 修改目標目錄的congfig目錄文件的access time到當前,這樣cp的時候加update參數可以避開該目錄
localhost # cp -r -u -v projecta/* projectb/ 這樣不會復不復制projecta下面第一級的隱藏目錄,但是二級三級的還是會復制過去
所以適用于沒有隱藏目錄的情況下,比較方便.
但是我們的項目因為牽涉svn什么的,所以會有很多隱藏目錄包含版本控制信息,就會很亂,所以有了第二種方案
方法三:
rsync -vaup --exclude=".*“ --exclude=”common/config“ projecta/ projectb
簡單注釋下
-a 參數,相當于-rlptgod,-r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權限;-t 保持文件原有時間;-g 保持文件原有用戶組;-o 保持文件原有屬主;-d 相當于塊設備文件;
-p 傳輸進度;
-v 冗余模式,查看到文件列表等
-u update模式,如果目標文件新于源文件,則跳過
第一個exclude表示跳過所有.開頭的隱藏文件
第二個表示調過projecta/common/config目錄,因為config目錄下的文件,輕易不需改變,如果需要手動調整即可,注意這個參數是后面src參數的相對路徑
關于“Linux用cp和rsync同步文件時怎么跳過指定目錄”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。