¿Cómo usaría tar para realizar una copia de seguridad completa y restaurar con el sistema en SSD y el hogar en HDD?

14

¿Cómo usaría tar para realizar una copia de seguridad completa y restaurar con el sistema en SSD y el hogar en HDD?

Las respuestas existentes de copia de seguridad y restauración no parecen cubrir el caso en que la raíz y el hogar están en dispositivos separados

Constrúyelo
fuente
Bienvenido a AU! ¿Está buscando algo único o una solución continua / periódica? ¿El destino de la copia de seguridad es local o remoto? tarrealmente no le importan los dispositivos y los puntos de montaje. Por favor, editar tu post para incluir la información adicional.
David Foerster
"Las respuestas existentes de copia de seguridad y restauración no parecen cubrir el caso en el que la raíz y el hogar están en dispositivos separados" la razón: es una mala idea y hacer 2 archivos de copia de seguridad no solo es más inteligente sino también más eficiente.
Rinzwind

Respuestas:

17

Se recomienda hacer DOS copias de seguridad. 1 para / y 1 para / home si están en una partición diferente. Si desea uno, tendrá que agregar muchas excepciones a ese comando. Ejemplo:

sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

hará una copia de seguridad de su raíz y excluirá TODAS las particiones montadas, como / media (no desea hacer una copia de seguridad de dispositivos externos (realmente no lo hace)) y NO desea hacer una copia de seguridad de algo como / dev o / proc. Y / home va a otra copia de seguridad.

En el método anterior, la copia de seguridad se almacena en /. Será mejor almacenarlo en un medio externo; A continuación, puede colocar un directorio delante de backup.tar.gz y soltarlo --exclude=...desde el primer comando.

  • backup.tar.gz es el respaldo.
  • Esto --excludeevitará que la copia de seguridad real sea respaldada.
  • cvpzf: crear, detallar, preservar permisos, comprimir, usar un archivo.

  • --one-file-system : no incluya archivos en un sistema de archivos diferente. Si desea que se realicen copias de seguridad de otros sistemas de archivos, como una partición / home o medios externos montados en / medios, debe hacer una copia de seguridad por separado u omitir este indicador. Si omite este indicador, deberá agregar varios más --exclude = argumentos para evitar los sistemas de archivos que no desea. Estos serían los directorios / proc, / sys, / mnt, / media, / run y / dev en la raíz./ proc y / sys son sistemas de archivos virtuales que proporcionan ventanas en variables del núcleo en ejecución, por lo que no desea intentar hacer una copia de seguridad o restaurarlas. / dev es un tmpfs cuyo contenido es creado y eliminado dinámicamente por udev, por lo que tampoco desea hacer una copia de seguridad o restaurarlo. Del mismo modo, / run es un tmpfs que contiene variables sobre el sistema en ejecución que no necesitan copia de seguridad ( Fuente ).


Entonces ... si realmente todavía quieres un "one-liner", podría verse así:

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(Espero tener todo lo que necesita ser excluido)


Restaurar sería

sudo su
cd /
tar xvzf backup.tar.gz

No utilicé sudodelante del comando tar ya que recibirás mensajes de error con respecto a los permisos (debido a los archivos propiedad de root).

Rinzwind
fuente
Su sugerencia de dos líneas funcionó muy bien, excepto que cuando hice una copia de seguridad del sistema recibí un mensaje. "/lib64/ld-linux86-64.so2 tar: /: el archivo cambió mientras lo leíamos". ¿Es esto normal durante una copia de seguridad?
Buildit
Si. tar le informará de los cambios en el archivo durante la acción de copia de seguridad de ese archivo (verifica el estado del archivo antes y después de hacer una copia de seguridad). En general, estos mensajes son inofensivos. Si tiene su propio software / datos y lo obtiene en uno de esos archivos, volvería a crear la copia de seguridad.
Rinzwind
El tar estándar no se comprime, simplemente une todo a un archivo (TAR = Tape ARchive). Prueba gtar en su lugar.
Alan Campbell
1
Si el comando no respaldará ciertos directorios, ¿debo volver a crearlos cuando restaure el sistema? Además, ¿qué ventajas tiene este método para usar simplemente Deja-Dup?
user4493605