Effettua il backup della directory home con rsync e ignora le cartelle inutili

20

Puoi facilmente eseguire il backup della tua cartella home su un hard disk esterno con

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

Ho escluso la cartella .cache perché penso che non ne avrò mai bisogno quando devo reinstallare da questo backup.

  

Ho trovato questo elenco di tutte le cartelle che potrei escludere in un normale backup qui:
Quali file e directory possono essere esclusi da un backup della home directory?

Ho creato un elenco di questa risposta che contiene alcuni commenti in questo modulo:

#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

Ecco l'elenco completo in sintesi

Come posso aggiungere questo elenco al mio comando rsync?

    
posta rubo77 04.11.2014 - 18:27

3 risposte

33

L'elenco di esclusioni può contenere solo nomi di file, nomi di parole e righe che iniziano con # . Un commento dietro il nome della cartella non è consentito. Ho creato un repository Git con tutti i file e le cartelle conosciuti che sono superflui:

Scarica questo ignorelist in / var / tmp / ignorelist

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

Quindi avvia rsync con

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

Nota:
Nell'ignorelista c'è una sezione all'inizio con le cartelle, che sono directory, probabilmente non vale un backup.

    
risposta data rubo77 04.11.2014 - 19:03
4

Da 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.
    
risposta data muru 04.11.2014 - 18:33
0

Potrebbe provare questo se le directory e i file all'interno sono tutto ciò che si desidera eseguire il backup. Esclude tutte le directory nascoste.

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

    
risposta data arth 17.05.2015 - 18:19

Leggi altre domande sui tag