Full system backup with SquashFS (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Estado de la traducción: esta traducción de Full system backup with SquashFS fue revisada el 2019-11-15. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Descripción general

SquashFS [1] crea archivos de copia de seguridad de solo lectura altamente comprimidos de sistemas completos. Es conveniente ya que puede montarlo y realizar find/grep/cp/tree en él sin descomprimir todo el archivo SquashFS. La copia de seguridad lleva menos tiempo y la sobrecarga de recuperación/recorrido de archivos es menor en comparación con tar, pero modificar un archivo existente es imposible como contrapartida.

Preparar CD/DVD/USB live

Debería tener squashfs-tools instalado en el CD/DVD/USB live para crear archivos SquashFS. Remítase a Archiso#Profile structure sobre cómo configurar packages.x86_64 y construir un CD/DVD/USB live con squashfs-tools instalado.

Realizar copia de seguridad en entorno live

Inicie en un CD/DVD/USB en vivo y monte los sistemas de archivos que desea respaldar.

Nota: el siguiente ejemplo es para una instalación de EFI-grub Arch con sdb1 como partición EFI y sdb2 como partición raíz.
# fsck /dev/sdb2
# fsck /dev/sdb1
# mount /dev/sdb2 /mnt
# mount /dev/sdb1 /mnt/boot/efi
# /ruta/mksquashfs.sh DIRECTORIO_ORIGEN DIRECTORIO_PARA_ARCHIVAR_RESPALDO

donde

/ruta/mksquashfs.sh
#!/usr/bin/env bash

# Precaución
if [ $# -ne 2 ]; then
  echo "invoque: mksquashfs.sh DIRECTORIO_ORIGEN DIRECTORIO_PARA_ARCHIVAR_RESPALDO"
  exit 1
fi
echo -ne "\n\n¿Tiene fsck? "
read

# Respaldo
mksquashfs \
  "$1" "$2/$(date +%Y%m%d_%a).sfs" \
  -comp gzip \
  -xattrs \
  -progress \
  -mem 5G \
  -wildcards \
  -e \
  boot/efi \
  boot/grub \
  boot/initramfs-linux"*".img

Restaurar (descomprimir)

Advertencia: lo siguiente está completo pero aún no se ha probado. No lo use antes de que esta señal de advertencia sea eliminada.
#!/bin/bash

# Ruta donde extraer archivos
target=/mnt

# Ruta al archivo de respaldo SquashFS
archive=/ruta/backup.sfs

unsquashfs -stat $archive
unsquashfs -force -dest $target $archive
Nota: para hacer que el sistema arranque después de la restauración, debe:
  1. Arreglar fstab
  2. arch-chroot
    1. mkinitcpio -p linux
    2. grub-install
    3. grub-mkconfig

Restaurar (montar y copiar)

Advertencia: lo siguiente está completo pero aún no se ha probado. No lo use antes de que esta señal de advertencia sea eliminada.
  1. mount somewhere/backup.sfs /mnt
  2. cp /mnt/archivo /ruta/archivo-dañado