Резервное копирование нескольких папок с дублированием (включая / исключая)

Я хотел бы сделать резервную копию следующих папок с двуличностью

/home
/etc
/usr/local
/root
/var
/boot

и исключить

/var/tmp
/var/run
/var/lock
/home/*/.thumbnails
/home/*/.cache
/home/*/.local/share/Trash
/root/.thumbnails
/root/.cache
/root/.local/share/Trash

Я уже узнал, что мне нужно указать один исходный каталог для сохранения и что я могу настроить его с помощью include а также exclude опции.

Итак, я мог бы дать / в качестве исходного каталога и исключить ** (что бы ничего не дало) и включало папки, которые я хочу сохранить.

Источник / а также --exclude / дал бы пустой набор, --include ... бьет exclude и добавляет папки. Но тогда я не смогу исключить папки, которые я хочу исключить, верно? Или я что-то упустил?

2 ответа

Решение

Я обнаружил, что команды включения / исключения становятся "сильнее", чем больше они остаются в команде.

В моем случае импорт и экспорт и источник будут выглядеть так: --exclude /var/tmp --exclude /var/run --exclude /var/lock --exclude /home/*/.thumbnails --exclude /home/*/.cache --exclude /home/*/.local/share/Trash --exclude /root/.thumbnails --exclude /root/.cache --exclude /root/.local/share/Trash --include /home --include /etc --include /usr/local --include /root --include /var --include /boot --exclude '**' /

(С добавлением новых строк:)

--exclude /var/tmp 
--exclude /var/run
--exclude /var/lock
--exclude /home/*/.thumbnails
--exclude /home/*/.cache
--exclude /home/*/.local/share/Trash
--exclude /root/.thumbnails
--exclude /root/.cache
--exclude /root/.local/share/Trash
--include /home
--include /etc
--include /usr/local
--include /root
--include /var
--include /boot
--exclude '**'
/

Чтобы завершить ответ @Kurtibert, вам нужно добавить ** в конце каталога, который вы включаете, убедитесь, что файлы внутри включены (и не забудьте про кавычки):

--exclude '/var/tmp'
--exclude '/var/run'
--exclude /var/lock'
--exclude '/home/*/.thumbnails'
--exclude '/home/*/.cache'
--exclude '/home/*/.local/share/Trash'
--exclude '/root/.thumbnails'
--exclude '/root/.cache'
--exclude '/root/.local/share/Trash'
--include '/home/**'
--include '/etc/**'
--include '/usr/local/**'
--include '/root/**'
--include '/var/**'
--include '/boot/**'
--exclude '**'
/
Другие вопросы по тегам