Rsync

rsync 在隱藏目錄中包含特定的子目錄

  • May 19, 2021

我正在嘗試使用 rsync 來創建我的電腦的備份。為此,我想排除所有隱藏目錄和文件,但包括這些隱藏目錄的特定子目錄。例如,我有以下結構:

.hidden_1/
   sub_dir_1/
        sub_file_1
   sub_dir_2/
        sub_file_2
.hidden_2/
   sub_file_3
.hidden_file
normal_folder/
normal_file

有了這個,我想複製所有普通文件,只複製 sub_dir_1 及其所有內容。結果應如下所示:

.hidden_1/
   sub_dir_1/
        sub_file_1
normal_folder/
normal_file

我已經嘗試了各種過濾器設置,到目前為止都沒有運氣。有誰可以幫我離開這裡嗎?

親切的問候

女武神

rsync -avh --include='/.hidden_1/' --include='/.hidden_1/sub_dir_1/***' --exclude='/.**' src/ dest
  • --exclude='/.**'排除與源目錄相關的所有隱藏文件和目錄以及這些目錄中的所有內容,即.hidden_1/.hidden_1/sub_dir_1/,但不包括normal_folder/.hiddenfoo**匹配任何東西,包括斜線。
  • --include='/.hidden_1/'包括.hidden_1相對於源目錄的目錄,覆蓋排除規則。它只包括目錄本身,而不包括其內容。
  • --include='/.hidden_1/sub_dir_1/***'包括目錄.hidden_1/sub_dir_1/及其內容。這相當於兩條規則--include='/.hidden_1/sub_dir_1/'--include='/.hidden_1/sub_dir_1/**'

引用自:https://unix.stackexchange.com/questions/650384