¿Qué archivos y directorios se pueden excluir de una copia de seguridad del directorio de inicio?

41

Duplicity ya hace un gran trabajo al hacer copias de seguridad eficientes, pero aún quiero minimizar la cantidad de archivos que se respaldan.

¿Qué archivos o directorios se pueden excluir en un directorio de inicio? Nombre explícitamente, los comodines permitidos, las rutas son relativas al directorio de inicio.

Lekensteyn
fuente
Gran pregunta! Me resulta útil analizar mi directorio de inicio (el que hice una copia de seguridad) usando Disk Usage Analyzer y me aseguro de ignorar todo lo que aparece en la parte superior y que no me importa perder en caso de pérdida de datos. Por ejemplo, no estoy interesado en hacer una copia de seguridad de mi srcdirectorio que contiene copias locales del código fuente disponible en línea.
joelpet

Respuestas:

38

La mayoría de estos archivos y directorios se recrean si faltan. Están destinados principalmente a reducir el tiempo de inicio de una aplicación (caché de extensiones de Firefox), indicando bloqueos ( .gksu.lock) o que contienen información específica de la sesión (por ejemplo, ID de la sesión dbus). Los documentos recientes cambian con frecuencia y, en general, no es tan sensible para la copia de seguridad.

Estos directorios pueden ser excluidos:

.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

Específico de flash:

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

Archivos:

.xsession-errors            # contains errors from the current graphical session
.recently-used              # recently used files
.recently-used.xbel
.thumbnails
.Xauthority                 # session-specific
.ICEauthority
.gksu.lock
.pulse                      # directory
.pulse-cookie
.esd_auth

KDE específico:

.kde/share/apps/RecentDocuments # Recent documents on KDE
.kde/share/apps/klipper         # Contains a history of the Klipper clipboard (KDE)
.kde/share/apps/okular/docdata  # you will loose saved scrolling positions of PDFs
.kde/share/apps/gwenview/recentfolders
.kde/share/apps/kmess/displaypics  # cached other users' profile pics
.kde/share/apps/kmess/customemoticons  # cached emoticons of others

Específico de Firefox (ver también Carpeta de perfil ):

.mozilla/firefox/*/Cache
.mozilla/firefox/*/minidumps    # in case Fx crashes dumps will be stored in this
.mozilla/firefox/*/.parentlock       # session-specific           
.mozilla/firefox/*/urlclassifier3.sqlite  # phishing database, recreated
.mozilla/firefox/*/blocklist.xml   # blacklisted extensions
.mozilla/firefox/*/extensions.sqlite  # extension database, recreated on startup
.mozilla/firefox/*/extensions.sqlite-journal
.mozilla/firefox/*/extensions.rdf
.mozilla/firefox/*/extensions.ini
.mozilla/firefox/*/extensions.cache
.mozilla/firefox/*/XUL.mfasl     # cached UI data, recreated
.mozilla/firefox/*/XPC.mfasl
.mozilla/firefox/*/xpti.dat
.mozilla/firefox/*/compreg.dat

Específico de Opera (pregunta relacionada en Superuser.com: ¿hay documentación disponible en archivos y directorios en la carpeta de perfil de Opera? ):

.opera/temporary_downloads
.opera/cache
.opera/thumbnails
.opera/opcache
.opera/icons
.opera/application_cache
.opera/widgets/*/cache
.opera/lock

Edición de Komodo :

.komodoedit/*/codeintel/db
.komodoedit/*/host-*/*/codeintel
.komodoedit/*/XRE/Cache
.komodoedit/*/XRE/.activatestate/komodo edit/Crash Reports
.komodoedit/*/XRE/.activatestate/komodo edit/*/Cache
.komodoedit/*/XRE/.activatestate/komodo edit/*/minidump
.komodoedit/*/XRE/.parentlock
.komodoedit/*/XRE/extensions.rdf
.komodoedit/*/XRE/extensions.ini
.komodoedit/*/XRE/extensions.cache
.komodoedit/*/XRE/XPC.mfasl
.komodoedit/*/XRE/XUL.mfasl
.komodoedit/*/XRE/xpti.dat
.komodoedit/*/XRE/pluginreg.dat
.komodoedit/*/XRE/compreg.dat
.komodoedit/*/XRE/*.sqlite-journal
.komodoedit/*/pystdout.log
.komodoedit/*/pystderr.log
.komodoedit/*/history.sqlite.bak
.komodoedit/*/running.lock
.komodoedit/*/mutex.lock
.komodoedit/*/*.xmlc
.komodoedit/*/startup-env.tmp
.komoeoedit/*/commandments.fifo
.komoeoedit/*/history.sqlite

GnuPG:

.gnupg/rnd
.gnupg/random_seed
.gnupg/.#*
.gnupg/*.lock
.gnupg/gpg-agent-info-*

Google Chrome:

.config/google-chrome/Default/Local Storage
.config/google-chrome/Default/Session Storage
.config/google-chrome/Default/Application Cache
.config/google-chrome/Default/History Index *

Otras aplicaciones:

.pulse/icons                  # Pidgin
.java/deployment/cache        # Cached applets
.icedteaplugin
.icedtea
.gnome2/epiphany/favicon_cache
.dropbox                      # to avoid problems, let Dropbox re-create these
.dropbox-dist
Lekensteyn
fuente
@ rubo77 Esta esencia ya no funciona.
justfortherec
Extraño, el enlace en bruto no funciona, cuando lo llamas directamente, pero funciona con el acortador git.io: puedes descargar el ignorelist desde mi esencia con wget http://git.io/vmQZ2 -O /var/tmp/ignorelistLuego inicia el rsync con rsync -a --progress --exclude-from=/var/tmp/ignorelist /home/$USER/ /media/$USER/linuxbackup/home/see askubuntu.com/a/545676/34298
rubo77
HEAD y master no funcionan, pero este enlace es válido:wget https://gist.githubusercontent.com/rubo77/8ffaadbc58ab099d2bc3/raw/ignorelist
Lekensteyn
10

Buena pregunta. Me gustan estos, donde podemos recopilar aportes / listas de la comunidad y elegir cosas relevantes. Aquí está mi .excludearchivo. Alimento este archivo a rsync como --exclude-file=parámetro en múltiples scripts (que también puede hacer con duplicidad ). Tenga en cuenta que la pregunta implica "qué desea / necesita guardar". Por ejemplo, hago una copia de seguridad de mi .mozillaDIR completa ya que contiene múltiples perfiles y ajustes y es más fácil volcarla de nuevo en el disco como un todo. También implícito en mi configuración: realizo muchas "construcciones desde cero" para realizar pruebas. Así que tengo una imagen de clonezilla de una instalación de base limpia bien conocida, y agrego mis datos personales (/ domésticos) almacenados en USB después de que están en el disco; a veces selectivamente, a veces en su conjunto.

# Filename: admin/dotfiles/exclude
# Create Date: 20110307-23:36HRS
# ln -s admin/dotfiles/exclude ~/.exclude

.cache
.adobe
.aptitude
.compiz # no settings here; processes
.dbus
.dropbox # don't try to restore and reinitialize either of
.dropbox-dist # these DIRs; very messy results can happen
.elegant-gnome-backup
.fontconfig
.gnome2_private # MT; at least on my system
.pulse*
.gconfd
.gvfs
.macromedia
.local/share/Trash/
.thumbnails
Downloads/
Dropbox/ # recreated on re-initialization
Public/
Music/
Templates/ # stored on U1
Ubuntu One/ # recreated on re-initialization
wdir/iso/
wdir/backups/
Tom
fuente
Si uso duplicidad a través de DejaDup, ¿existe ese archivo también? (a partir de Ubuntu 16.04, no hay ~/.excludepara un usuario de DejaDup como yo)
Frank Nocke
2

Creé un ignorelista en https://github.com/rubo77/rsync-homedir-excludes

Puede usarlo con Duplicity o rsync como:

rsync -aP --exclude-from=rsync-homedir-excludes.txt /home/$USER/ /media/$USER/linuxbackup/home/$USER/

esto se actualiza regularmente, en este momento tenemos esto hasta ahora:

################################################
# These directories may definitely be excluded #
################################################

# Contains mounted file systems:

.gvfs
.local/share/gvfs-metadata
# contains the actual encrypted home directory
/.Private

# Session-specific:
/.dbus
/.cache
/.Trash
.Trash-1*
.local/share/Trash
/Trash

# Cached info about audio CDs:
.cddb

# Cached packages lists:
.aptitude

# Node Package Manager cache
.npm

#Flash-specific:

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

#Files:

# Contains errors from the current graphical session
.xsession-errors
.wayland-errors

# Recently used files
.local/share/RecentDocuments
.recently-used
.recently-used.xbel
.thumbnails
.thumb
Thumbs.db
.DS_Store
.localised
.bash_history
.CFUserTextEncoding

# Common Unix Printing System
/.cups

# run-time configuration information for Subversion
/.subversion

# Python virtual environments
/.virtualenvs

# Session-specific
.Xauthority
.ICEauthority
.gksu.lock
.pulse
.pulse-cookie
.esd_auth

#KDE specific:

# Recent documents on KDE
.kde/share/apps/RecentDocuments
.kde4/share/apps/RecentDocuments
# Contains a history of the Klipper clipboard (KDE)
.kde/share/apps/klipper
.kde4/share/apps/klipper
# You will loose saved scrolling positions of PDFs
.kde/share/apps/okular/docdata
.kde/share/apps/gwenview/recentfolders
.kde4/share/apps/okular/docdata
.kde4/share/apps/gwenview/recentfolders
# Cached other users' profile pics
.kde/share/apps/kmess/displaypics
.kde4/share/apps/kmess/displaypics
# Cached emoticons of others
.kde/share/apps/kmess/customemoticons
.kde4/share/apps/kmess/customemoticons

#Firefox-specific (see also Profile folder):

.mozilla/firefox/*/Cache
# in case Fx crashes dumps will be stored in this
.mozilla/firefox/*/minidumps
# session-specific 
.mozilla/firefox/*/.parentlock
# phishing database, recreated
.mozilla/firefox/*/urlclassifier3.sqlite
# blacklisted extensions
.mozilla/firefox/*/blocklist.xml
# extension database, recreated on startup
.mozilla/firefox/*/extensions.sqlite
.mozilla/firefox/*/extensions.sqlite-journal
.mozilla/firefox/*/extensions.rdf
.mozilla/firefox/*/extensions.ini
.mozilla/firefox/*/extensions.cache
# cached UI data, recreated
.mozilla/firefox/*/XUL.mfasl
.mozilla/firefox/*/XPC.mfasl
.mozilla/firefox/*/xpti.dat
.mozilla/firefox/*/compreg.dat
# cached plugin data, recreated
.mozilla/firefox/*/pluginreg.dat

#SeaMonkey-specific (see also Profile folder):

.mozilla/seamonkey/*/Cache
# in case Fx crashes dumps will be stored in this
.mozilla/seamonkey/*/minidumps
# session-specific 
.mozilla/seamonkey/*/.parentlock
# blacklisted extensions
.mozilla/seamonkey/*/blocklist.xml
# extension database, recreated on startup
.mozilla/seamonkey/*/extensions.sqlite
.mozilla/seamonkey/*/extensions.rdf
.mozilla/seamonkey/*/extensions.ini
# cached UI data, recreated
.mozilla/seamonkey/*/xpti.dat
.mozilla/seamonkey/*/compreg.dat
# cached plugin data, recreated
.mozilla/seamonkey/*/pluginreg.dat

# Thunderbird Cache in your profile folder
.thunderbird/*/Cache

#Opera-specific (related question on Superuser.com: Is documentation available on files and directories in the Opera profile folder?):

.opera/temporary_downloads
.opera/cache
.opera/thumbnails
.opera/opcache
.opera/icons
.opera/application_cache
.opera/widgets/*/cache
.opera/lock

# Keychain dir (manage SSH and GPG keys, front-end to ssh-agent and ssh-add)
/.keychain

#Komodo Edit:

.komodoedit/*/codeintel/db
.komodoedit/*/host-*/*/codeintel
.komodoedit/*/XRE/Cache
.komodoedit/*/XRE/.activatestate/komodo edit/Crash Reports
.komodoedit/*/XRE/.activatestate/komodo edit/*/Cache
.komodoedit/*/XRE/.activatestate/komodo edit/*/minidump
.komodoedit/*/XRE/.parentlock
.komodoedit/*/XRE/extensions.rdf
.komodoedit/*/XRE/extensions.ini
.komodoedit/*/XRE/extensions.cache
.komodoedit/*/XRE/XPC.mfasl
.komodoedit/*/XRE/XUL.mfasl
.komodoedit/*/XRE/xpti.dat
.komodoedit/*/XRE/pluginreg.dat
.komodoedit/*/XRE/compreg.dat
.komodoedit/*/XRE/*.sqlite-journal
.komodoedit/*/pystdout.log
.komodoedit/*/pystderr.log
.komodoedit/*/history.sqlite.bak
.komodoedit/*/running.lock
.komodoedit/*/mutex.lock
.komodoedit/*/*.xmlc
.komodoedit/*/startup-env.tmp
.komoeoedit/*/commandments.fifo
.komoeoedit/*/history.sqlite

#GnuPG:

.gnupg/rnd
.gnupg/random_seed
.gnupg/.#*
.gnupg/*.lock
.gnupg/gpg-agent-info-*

#Google Chrome:

.config/google-chrome/Default/Local Storage
.config/google-chrome/Default/Session Storage
.config/google-chrome/Default/Application Cache
.config/google-chrome/Default/History Index *

#Chromium:

.config/chromium/Default/Local Storage
.config/chromium/Default/Session Storage
.config/chromium/Default/Application Cache
.config/chromium/Default/History Index *

#Local repositories (added by errantlinguist on 2015-04-13):
.gradle/caches
/.m2/repository

#indexer
.local/share/baloo
.local/share/zeitgeist
.local/share/akonadi

#Other apps:

# Pidgin
.pulse/icons
# Cached applets
.guayadeque/cache.db
.java/deployment/cache
.icedteaplugin
.icedtea
.gnome2/epiphany/favicon_cache

# other temporary files 
nohup.out

###############################################
# directories, probably not worth a backup    #
# (uncomment the files you don't need)        #
###############################################

#.android
#.AndroidStudio*/
#Android/Sdk
#.gradle
#.gvm
#.grails/
#.grails_history
#.kde/share/apps/nepomuk
#.local/share/notbit
#.local/libvirt
#.vagrant
#.vagrant.d
#.wine
#.twister
#/twister
#Applications/eclipse*
#/Downloads
#*Popcorntime*
#/Scribus
#/VirtualBox*
#
## Add Game Folders here:
#
#/games
#.local/share/Steam
#.steam
#Steam
#.minecraft
#.PlayOnLinux
rubo77
fuente
-1

Recientemente he estado buscando hacer este tipo de cosas, y me he dado cuenta de que muchos de los archivos en mi directorio de inicio de los que no quiero hacer una copia de seguridad parecen no tener permisos de grupo establecidos. Si lo mismo ocurre con otros sistemas, entonces se puede obtener una lista probable de sospechosos con:

find ~ -not -perm -g+r

(Aunque verifique el resultado, porque aunque el mío parecía bastante bueno, mi bandeja de entrada de correo electrónico también apareció en la lista, y no sé qué tan bien funcionará para otros).

Esto es particularmente atractivo para mí, porque mi directorio de inicio está encriptado (incluidos los nombres de archivo), por lo que una lista de exclusiones manuales sería un PITA, y en su lugar debería poder usar los permisos de grupo para generar automáticamente una lista de exclusión.

(Sé que el hilo es viejo, pero pensé que esto podría ser útil para alguien).

James C
fuente
2
El permiso de un archivo es una mala guía para determinar si un archivo es necesario o no. Las claves SSH privadas, por ejemplo, deben tener permisos restrictivos, pero seguramente desea hacer una copia de seguridad de ellas.
Lekensteyn
Los permisos no están diseñados para usarse como marcas de respaldo. Es posible que tenga muchas razones muy buenas para establecer permisos personalizados en archivos y directorios, y su enfoque podría romper algo. Si realmente no le gustan las listas de exclusión (¿por qué no?), Utilice el indicador de volcado / nodump del sistema de archivos ext3 y ect4 para marcar archivos para respaldo / no respaldo. Esta bandera ha sido diseñada exactamente para este propósito. Ver cyberciti.biz/faq/...
GERLOS