GNU/Linux >> Tutoriales Linux >  >> Linux

Copia de seguridad del directorio de inicio:la guía rápida y sucia

Digamos que eres un usuario de Linux. No, en serio, dilo. ESTÁ BIEN. Ahora, usted es una persona de Linux y le gustaría hacer una copia de seguridad de sus datos personales, porque es muy importante. De hecho, tener un plan de respaldo sólido es algo inteligente. Si está a punto de realizar una gran actualización del sistema, probar un nuevo software o cualquier otra cosa que pueda dañar sus archivos, una copia de los datos ayudará a evitar lágrimas o pánico no deseados.

Hay dos maneras en que puedes hacer esto. Uno, puedes usar una herramienta de algún tipo, como Grsync o Deja Dup, y eso está perfectamente bien. Dos, puedes escribir tu propio pequeño guión. Normalmente, no hay razón para molestarse con el último método, pero es bueno saber qué hacer en caso de necesidad. Hoy, me gustaría mostrarle cómo puede crear archivos flexibles y encriptados (sí, encriptados) de sus datos, con exclusiones y otras cosas, y luego poder guardarlos en cualquier lugar que desee, otro disco, otro sistema, nube, lo que. Después de mí.

Emañar sus datos

Usaremos la venerable utilidad tar. Está disponible en prácticamente cualquier máquina UNIX/Linux, no requiere interfaz de usuario para funcionar y es diferente del atractivo y ordenado rsync en que no transmite (sincroniza) sus datos a una ubicación de respaldo. Puede hacer eso, pero su objetivo principal es crear archivos de datos.

Por lo tanto, crearemos un archivo local con tar, usaremos varios indicadores de exclusión para que no hagamos una copia de seguridad de cosas que no necesitan retención, como archivos temporales, archivos de depuración, caché, Papelera y demás, y luego cifraremos el archivo con otra herramienta. - gpg, para que cualquiera que tenga acceso a tus datos, por el motivo que sea, no pueda mirar dentro, traviesos, traviesos.

Echemos un vistazo a la lista a continuación. Tenga en cuenta que NO es completo y que podría haber muchas otras exclusiones en su configuración particular. Pero es indicativo y conservador, es decir, se realizará una copia de seguridad de algunos datos posiblemente innecesarios, aunque podría no agregarlos con seguridad.

tar -cpzf nombre-respaldo.tar.gz \
--exclude=nombre-respaldo.tar.gz\
--exclude=.cache \
--exclude=.debug \
--exclude=.dbus \
--exclude=.gvfs \
--exclude=.local/share/gvfs-metadata \
--exclude=.local/share /Papelera \
--exclude=.recently-used \
--exclude=.thumbnails \
--exclude=.xsession-errors \
--exclude=.Papelera \
--exclude=.steam \
--exclude=Descargas \
--exclude=GitHub \
--exclude=Público \
--exclude=Steam \
--exclude=Templates \
--exclude="VirtualBox VMs" \
--warning=no-file-changed .

¿Qué tenemos aquí? Primero, el nombre del archivo. Puede residir en el mismo volumen que el resto de los datos, pero luego necesita la segunda línea, que nos dice que no incluyamos el archivo dentro de sí mismo (inicio). Entonces, tenemos una serie de exclusiones reales. Algunos de estos son genéricos y otros específicos del usuario. Las exclusiones genéricas cubren datos que en su mayoría están relacionados con la sesión o son temporales. Específicamente (y con eso quiero decir genéricamente):

  • .cache - como dice el nombre.
  • .debug - como dice el nombre.
  • .dbus:datos específicos de la sesión.
  • .gvfs:puntos de montaje específicos de la sesión para GVFS.
  • .local/share/gvfs-metadata:metadatos para lo anterior.
  • .local/share/Trash - como dice el nombre.
  • .usado recientemente, como dice el nombre.
  • .thumbnails:como dice su nombre.
  • .xsession-errors:errores específicos de la sesión.
  • .Papelera - como su nombre lo dice.

Todas las líneas de exclusión después de .Trash son anulaciones personales. Por ejemplo, no vi la necesidad de guardar los datos del repositorio del proyecto GitHub descargado (es posible que ni siquiera tenga esto o no le importe), cosas de Steam (lo mismo de nuevo) o máquinas virtuales VirtualBox. Su lista puede incluir cualquier número de estas anulaciones, como mejor le parezca, por supuesto. Agregué el mío para darle una idea de cómo puede hacer esto.

Hay muchas otras exclusiones posibles. Por ejemplo, esta lista de GitHub contiene unos pocos cientos de líneas de exclusiones (pensadas para rsync, pero por el bien del argumento, no hay diferencia aquí), que también podría considerar para su comando tar. No omití ningún directorio específico del programa en la parte genérica de la lista, y solo le di algunas anulaciones personales. El resto depende de ti, y necesitas un poco de tarea antes de poder continuar.

Por último, también mostramos advertencias si alguno de los archivos programados para la copia de seguridad cambia, y guardamos el archivo en el directorio actual (indicado con el punto). También puede guardar en ubicaciones remotas, otros discos, lo que le parezca apropiado. Y dado que este es un comando de shell, también puede escribirlo y luego programarlo.

Cifrado

Una vez que se ha creado el archivo, podemos cifrarlo con gpg:

gpg -o nombre-respaldo.tar.gz.gpg --simétrico nombre-respaldo.tar.gz

Se le pedirá que proporcione una contraseña para su archivo. La fuente no se eliminará, por lo que puede (debe) probar abriendo el archivo, para asegurarse de que funciona y de que recuerda la contraseña. En los sistemas que ejecutan un entorno de escritorio, obtendrá un mensaje de ventana:

Errores

Puede encontrar algunos errores mientras trabaja con tar. No utilicé el indicador -v anterior a propósito, por lo que solo se muestran los errores, y luego son más fáciles de detectar y resolver. Algunos de los errores comunes que verá son:

tar:.:archivo cambiado a medida que lo leemos
tar:Saliendo con estado de falla debido a errores anteriores

En este caso, un archivo cambió mientras se creaba el archivo (como, por ejemplo, un archivo de texto). Esto no es un error per se, pero el archivo específico no se incluirá en el archivo y el estado de salida del comando tar será un código de error de algún tipo. Puede ignorar el error o volver a ejecutar la creación del archivo tar. También puede usar el indicador --ignore-failed-read, si lo desea, pero tenga en cuenta que NO se realizará una copia de seguridad de algunos archivos.

tar:./.config/.../leveldb/LOG:No se puede abrir:Permiso denegado
tar:./.config/.../leveldb/000010.ldb:No se puede abrir:Permiso denegado

Es posible que vea el error Permiso denegado. Esto generalmente se debe a problemas de permisos, es decir, algunos archivos en su directorio de inicio no son accesibles o no le pertenecen (usted no es el propietario), por lo que el comando tar no puede incluirlos en el archivo. Puede ignorar estos errores o corregir los permisos:

chown "tu usuario":"tu grupo" ~/* -R

Restauración de datos

Hay mucho más que puedes hacer. La página TAR de Ubuntu wiki tiene mucha información útil, incluida la forma de combinar copias de seguridad y restauración a través de la red, lo que puede ser muy útil. Pero el enfoque aquí es rápido y sucio, por lo que no lo estamos complicando demasiado a propósito. Primero, necesitamos descifrar el archivo:

gpg -o nombre-respaldo.tar.gz -d nombre-respaldo.tar.gz.gpg

Y luego, podemos extraerlo:

tar -xpzf nombre-respaldo.tar.gz

Este es el comando de extracción de archivos tar más básico. Puede combinarlo con el uso del directorio de destino y otras banderas, pero en la mayoría de los casos, es posible que no desee copiar ciegamente los datos del archivo sobre su sistema existente a menos que esté creando una nueva caja.

Más lectura

¡No olvides hacer una copia de seguridad de tu sistema también!

El nuevo y definitivo tutorial de CloneZilla

Reseña de Timeshift:hagamos de nuevo la distorsión del tiempo

Conclusión

Y eso es todo. Creo firmemente en las copias de seguridad de datos. De hecho, esto es lo más importante que debe practicar en sus computadoras. Siempre es útil tener múltiples copias de seguridad y múltiples métodos para crearlas, ya que esto puede ayudar con varios escenarios de uso que se le presenten. A veces, una herramienta de interfaz de usuario completa hará el trabajo. Otras veces, será el caballo de batalla de rsync. Y ahora puedes usar otro programa viejo y confiable, y ese es tar, con un toque de gpg en el lateral.

En esta guía, hablamos sobre exclusiones, tanto genéricas como personales, cubrimos el cifrado, mencionamos algunos errores comunes que puede encontrar (y probablemente lo hará) al usar tar, y finalmente también hicimos la restauración de datos, que es tan importante como todo. los otros pasos. Con suerte, encontrará útil la información presentada aquí. Cuídense de esos bytes, mis corazones. Nos vemos.


Linux
  1. ¿Cómo contar la cantidad de archivos en un directorio y eliminar los más antiguos si el número supera los 5?

  2. ¿Es posible redefinir la tilde ('~', directorio de inicio)?

  3. Directorios misteriosos en el directorio de inicio?

  4. The Magic ~:Expansión Bash Tilde con 5 ejemplos

  5. ¿Cuál es el propósito del archivo .bash_profile en User Home Directory en Linux?

Una guía para principiantes para navegar por el sistema de archivos de Linux

¿No se supone que $home es la ubicación del directorio de inicio del usuario?

¿Cómo restaurar la copia de seguridad del directorio de inicio en cPanel?

Cómo migrar el directorio HOME en Linux

Synology NAS a Glacier Backup:la guía definitiva

La guía completa para las copias de seguridad de cPanel