使用rsync 刪除目標目錄中比源目錄多出的文件兜叨,可以借助 --delete 參數(shù)來實現(xiàn)哈肖。
rsync -avz --delete-delay/path/to/source/ /path/to/target/
命令解釋:
rsync: 調用 rsync 命令内颗。
-a: 保留文件屬性(如權限、時間戳等)资厉,進行歸檔模式同步棕兼。
-v: 詳細輸出(verbose),顯示同步過程的詳細信息圆存。
-z: 通過壓縮提高傳輸效率叼旋,對于網絡同步特別有用。
--delete-delay: 這是關鍵參數(shù)沦辙,指示 rsync 在同步完成后批量刪除目標目錄中所有不在源目錄中的文件和目錄夫植。
實例:
目標目錄是之前同步的倉庫源包,源目錄是最新才同步的倉庫源包油讯,通過下面命令可以把/mnt/倉庫源2023/服務/v10sp2/ks10sp2-updates/ks10sp2-updates/Packages/更新到和源目錄一致详民,且刪除源目錄中不存在的目錄和包
rsync -avz --delete-delay /var/www/html/packages/x86_64/v10sp2-x86/ks10-adv-updates/Packages/ /mnt/倉庫源2023/服務/v10sp2/ks10sp2-updates/ks10sp2-updates/Packages/
備注:源和目標路徑最后必現(xiàn)加/,不然同步異常