看板 Linux 關於我們 聯絡資訊
各位先進 神人,大家好, 小弟目前在做rsync的設定時,碰上一個問題 想請教一下,我要如何使用rsync 進行同步時,忽略目的端的某個目錄或檔案呢? 比如說: A來源端:/root/sky/ rsync 同步至 B目的端:/root/sky/ 但是同步時,B目的端:'/root/sky/stor/logs/' 希望裡面的資料不要被同步,或者是刪除 我看網路上的文件加入--exclude-from可以忽略 所以我所下的語法是 rsync -avh --delete --exclude-from='/root/sky/stor/logs/' /root/sky/ /root/sky/ 但是執行完後/root/sky/stor/logs/裡面的內容 還是會同步A來源端:/root/sky/stor/logs/ B目的端原有的資料也還是被刪除 想請教一下,不知道大家有沒有遇到這個問題過呢? 關於這部分該怎麼解.......... 實在是不知道該怎麼辦,想說拜託大家幫幫忙。謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.131.115 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1565856718.A.804.html
Stigmata: --delete 不要被刪除的 --exclude 要排除的 這樣才對吧? 08/15 16:26
--delete 我看說明應該是指刪除目的端中,來源端沒有的文件 @@” 我查了一下上面是寫 --delete delete extraneous files from destination dirs 希望我沒有理解錯誤....TAT ※ 編輯: richard520 (61.216.131.115 臺灣), 08/15/2019 16:58:17
Stigmata: 嗯 我key錯 我的意思是要 XD 08/15 17:25
Stigmata: 所以你要的是 不要動到 '/root/sky/stoy/logs/' 的意思? 08/15 17:26
是的!就是除了/root/sky/stoy/logs/之外,其他的都同步 如果來源端沒有的,將目的端刪除掉 跪求大大幫幫忙TAT ※ 編輯: richard520 (61.216.131.115 臺灣), 08/15/2019 17:35:39
Bellkna: --exclude={"path1","path2"} 排除的部份這樣試試? 08/15 20:43
Stigmata: - -delete- exclude ‘dir ‘ source/ destination/ 08/15 21:26
Stigmata: 用手機打 符號有點不一樣 你再用這個語法看看 08/15 21:27
LinBuoRen: --exclude='/root/sky/stor/logs/**' 就不會同步也不會 08/16 09:13
LinBuoRen: 被 --delete 刪掉 08/16 09:13
LinBuoRen: 然後 logs 資料夾一樣會建立 08/16 09:14
LinBuoRen: --exclude-from 要接寫好排除規則的排除規則檔 08/16 09:14
prsb: rsync -avh --delete --exclude "stor/logs/" 08/16 17:26
prsb: 另外,為何目的地也是/root/sky? 08/16 17:27