
我知道,有很多關於rsync
排除是特殊的帖子,我花了一些時間自己尋找解決方案,但認為遵從社區的思想力量更為有利,我相信這可以為我指出正確的方向幾秒鐘內跟踪。
我正在複製許多不同用戶的主目錄,但由於目前不相關的原因,需要基本上消除許多不同的配置,並且因為每個用戶差異很大,我想編寫一行rsync
可以在任何用戶的主資料夾,排除所有隱藏資料夾(除了.ssh和.mozilla如果適用),但仍會捕獲主資料夾中的隱藏文件,例如.bash_歷史記錄,。ETC。
包括.ssh和其他指定的資料夾目前很重要,因為其他常見資料夾可以/應該在以後添加到該列表中。但目前,除非另有說明,否則我需要基本上排除所有隱藏資料夾。
這是我認為可行的方法,但遺憾的是事實並非如此:
$ rsync -vahP --delete-before --include="*" --include={".ssh/",".mozilla/"} exclude=".*/" ./ /mount/anotherdisk/username/
我究竟做錯了什麼?
答案1
--include="*"
如果我刪除選項並將忘記的破折號添加到選項中,它對我有用,--exclude
例如:
rsync -vahP --delete-before --include={'.ssh/','.mozilla/'} --exclude='.*/' /home/username/ /mount/anotherdisk/username