Haz una copia de seguridad de tu directorio personal con rsync y omite carpetas inútiles

20

Puede hacer fácilmente una copia de seguridad de su carpeta de inicio en un disco duro externo con

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

Excluí la carpeta .cache porque creo que nunca la necesitaré cuando tenga que volver a instalar desde esta copia de seguridad.

  

Encontré esta lista de todas las carpetas que podía excluir en una copia de seguridad normal aquí:
Qué archivos y directorios se pueden excluir desde una copia de seguridad del directorio de inicio?

Creé una lista de esta respuesta que contiene algunos comentarios de esta forma:

#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

Aquí está la lista completa en la esencia

¿Cómo puedo agregar esta lista a mi comando rsync?

    
pregunta rubo77 04.11.2014 - 17:27

3 respuestas

33

La lista de exclusiones solo puede contener nombres de archivos, carpetas y líneas que comiencen con # . Un comentario detrás del nombre de la carpeta no está permitido. Creé un repositorio de Git con todos los archivos y carpetas conocidos que son superfluos:

Descargue esta lista de ignorantes a / var / tmp / ignorelist

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

Luego, inicie la rsync con

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

Nota:
En la lista de ignorados hay una sección al principio con carpetas, que son directorios, probablemente no vale la pena hacer una copia de seguridad.

    
respondido por el rubo77 04.11.2014 - 18:03
4

de 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.
    
respondido por el muru 04.11.2014 - 17:33
0

Podría probar esto si los directorios y archivos dentro son todo lo que quiere hacer la copia de seguridad. Excluye todos los directorios ocultos.

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

    
respondido por el arth 17.05.2015 - 16:19

Lea otras preguntas en las etiquetas