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

17

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

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

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

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

    
задан rubo77 04.11.2014 в 18:27
источник

3 ответа

30

Список исключений может содержать только имена файлов, имена папок и строки, начинающиеся с # . Комментарий за именем папки недопустим. Я создал репозиторий 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 04.11.2014 в 19:03
источник
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.
    
ответ дан muru 04.11.2014 в 18:33
1

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

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

ответ дан arth 17.05.2015 в 18:19