使用 rsync 排除隱藏資料夾,但包括特定隱藏資料夾並包含所有隱藏文件

使用 rsync 排除隱藏資料夾,但包括特定隱藏資料夾並包含所有隱藏文件

我知道,有很多關於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

相關內容