Сделайте резервную копию вашего домашнего каталога с помощью rsync и пропустите ненужные папки

24

Вы можете легко сделать резервную копию вашей домашней папки на внешнем жестком диске с

rsync -a --exclude=.cache --progress /home/$USER /media/linuxbackup/home/$USER

Я исключил папку .cache, потому что думаю, что она мне никогда не понадобится, когда мне придется переустанавливать из этой резервной копии.

Я нашел этот список всех папок, которые я мог бы исключить из обычной резервной копии здесь:
Какие файлы и каталоги можно исключить из резервной копии домашнего каталога?

Я создал список этого ответа, который содержит некоторые комментарии в этой форме:

#These directories may be excluded:

.gvfs                           # contains mounted file systems?
.local/share/gvfs-metadata
.Private                        # contains the actual encrypted home directory
.dbus                           # session-specific
.cache
.Trash                          # do I need to say more?
.local/share/Trash
.cddb                           # cached info about audio CDs
.aptitude                       # cached packages lists

#Flash-specific:

.adobe                          # Cache for flash, maybe others?
.macromedia   # except for Flash persistence, there is no reason to keep this

#Files:

.xsession-errors            # contains errors from the current graphical session
.recently-used              # recently used files
.recently-used.xbel
.thumbnails

Вот полный список в гист

Как я могу добавить этот список в мою команду rsync?

rubo77
источник
1
кроме того .Trash, часто также есть .Trash-1000(по крайней мере, под Ubuntu-MATE 14), так что лучше согласиться .Trash-*?
Фрэнк

Ответы:

40

Список исключений может содержать только имена файлов, имена-папки и строки, начинающиеся с #. Комментарий позади foldername не допускается. Я создал Git-репозиторий со всеми известными файлами и папками, которые являются лишними:

Загрузите этот список игнорируемых пользователей в / var / tmp / ignorelist

wget https://raw.githubusercontent.com/rubo77/rsync-homedir-excludes/master/rsync-homedir-excludes.txt -O /var/tmp/ignorelist

Затем начните rsync с

rsync -aP --exclude-from=/var/tmp/ignorelist /home/$USER/ /media/$USER/linuxbackup/home/

Примечание:
в списке игнорируемых пользователей в начале есть раздел с папками, которые являются каталогами, вероятно, не стоит делать резервную копию.

rubo77
источник
2
Вы можете объединить две команды, так как rsyncможете читать из stdin:wget https://... -O - | rsync -a --progress --exclude-from=- ...
Muru
8
Хороший вопрос, но я думаю, что рекомендуется сначала просмотреть список игнорируемых пользователей перед запуском rsync
rubo77
на удивление node_modulesнет в списке
Jchook
Разве вы не хотите хранить node_modulesнекоторые из ваших каталогов конфигурации? Представьте, что вы хотите переместить свой домашний каталог на новый компьютер, тогда вам нужно его сохранить.
rubo77
4

От man rsync:

 --exclude-from=FILE     read exclude patterns from FILE
          This option is related to the --exclude option, but it specifies
          a FILE that contains exclude patterns  (one  per  line).   Blank
          lines  in  the  file  and  lines  starting  with  ’;’ or ’#’ are
          ignored.  If FILE is -, the list  will  be  read  from  standard
          input.
Мур
источник
Есть такой список, я отредактировал свой вопрос
rubo77
@ rubo77 Я подтверждаю свое заявление о том, что нет списка всех папок, которые можно исключить. Это рекомендация, и я сомневаюсь, что даже Лекенстин сказал бы, что это полный список.
Муру
Список не должен быть полным, я просто хотел бы создать свою резервную копию быстрее, поэтому пропустите очевидные бесполезные папки
rubo77
@ rubo77 Я думаю, вам придется перенести комментарии в разные строки.
Муру
спасибо, я обновил файл gist, чтобы комментарии были в одной строке
rubo77
0

Попробуйте, если каталоги и файлы внутри - это все, что вы хотите сделать резервную копию. Исключает все скрытые каталоги.

rsync -aP --exclude=.* /home/$USER/ /media/$USER/folder

Arth
источник
Можете ли вы быть более конкретным "отсутствует цитата"?
февраля
Ой, извините - я был кратким, и испортил это опечаткой: "цитата" вместо "кавычек" отсутствует.
Фолькер Сигел
Оболочка может расширяться *(может, не в том месте?). Пути должны быть заключены в кавычки - имя пользователя не может содержать пробел, но /media/может быть /Old Media/или около того ...
Volker Siegel
Я прошу прощения, я не получаю это. «. *» Не должен включать «.» шаблон, который представляет собой скрытые каталоги в домашнем каталоге '/ home / $ USER /' для места назначения резервной копии: внешний жесткий диск или перьевой диск '/ media / $ USER / folder'. Делая это, только фактические каталоги и файлы резервируются. Если вы указываете что-то еще, пожалуйста, уточните.
Arth
4
Не имеет смысла исключать все каталоги, начинающиеся с точки, например, каталог .thunderbird является одним из самых важных каталогов
rubo77