Я хочу сделать резервную копию некоторых определенных файлов / папок моего $ HOME на внешний жесткий диск. Я использую rsync со следующим синтаксисом:

rsync -avh - удалить-исключить --exclude-from = .backup.lst $ HOME/ BACKUP/

Файл backup.lst содержит следующее:

    # Include
    + /Dev/
    + /Documents/
    + /Music/
    + /Pictures/
    + /.config/openbox/
    + /.config/tint2/
    + /.irssi/
    + /.mplayer/
    + /.backup.lst
    + /.bash_history
    + /.bash_profile
    + /.bashrc
    + /.conkyrc
    + /.fehbg
    + /.FehImage
    + /.htoprc
    + /.inputrc
    + /.rtorrent.rc
    + /.urxvtc.sh
    + /.vimrc
    + /.xinitrc
    + /.Xresources

    # Exclude
    - /*

Все синхронизируется правильно, кроме .config/openbox/ и .config/tint2/

а) Есть ли способ включить эти две папки?

б) Правильный ли синтаксис приведен выше для правильного резервного копирования этих файлов? Буду признателен за любые другие предложения относительно резервного копирования с помощью rsync.

1 ответ1

1

Просто попробовал подобный случай сам. Очевидно, вы должны включить родителей на всех глубинах, а также удалить нежелательных детей, используя - /<deep-parent>/* в более поздних правилах исключения (на всех глубинах).

# Include 
+ /.mplayer/
+ /.config/
+ /.config/openbox/
+ /.config/tint2/

# Exclude
- /*
- /.config/*

Страница руководства говорит, что .config/* не будет рассматриваться вообще, если вы не поместите просто .config/ из-за исключения /*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .