Mantenga su /hogar a salvo con respaldo cron

Mantenga su /hogar a salvo con respaldo cron

Objetivo

Cree un script de copia de seguridad que regularmente haga una copia de seguridad de archivos importantes de su /hogar directorio.

Distribuciones

Esto funcionará con cualquier distribución de Linux.

Requisitos

Una instalación de Linux que funciona con acceso a la raíz.

Dificultad

Fácil

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

Claro, hay utilidades de copia de seguridad para Linux, pero con un par de scripts, puede mantener sus archivos importantes respaldados regularmente con poco o ningún esfuerzo.

A muy Simple Bash Script hará la mayor parte del trabajo. Por el resto, aprovecharás el sistema cron que ya está en tu computadora.

Crea el script

Es posible que ya hayas adivinado, pero el script que escribirás usa alquitrán. alquitrán comprimirá sus archivos en un formato más manejable y de ahorro de espacio.

Comience creando el script. Puedes ponerlo en cualquier lugar, así que tu /hogar Directorio le irá bien.

$ Vim Home-Backup.mierda
#! /bin/bash # # script de copia de seguridad del directorio de inicio # 

Ahora, puede comenzar a construir el script en sí. Lo más probable es que no quieras retroceder todo en el directorio. Probablemente haya demasiado allí, y respaldar cosas como los juegos no suele ser el mejor uso de los recursos del sistema.

Ciertamente, puede, y en ese caso, ignorar todo el proceso de selección de directorio y simplemente usar /Usuario doméstico.

Entonces, crea un alquitrán línea que comprime directorios clave en su /hogar.

TAR -CJPF/Media/Backup/Home-Backup-'Date +%D-%M-%Y '.alquitrán.xz/home/user/documentos, descargas, imágenes, música,.configuración,.Xresources,.xinitrc,.i3,.Mozilla,.ZSHRC 

Con solo esa línea, su computadora creará un alquitrán archivar a /Media/copia de seguridad En un archivo llamado repleto con la fecha actual etiquetada en. Añadirá xz Compresión y preservación de la estructura y permisos de la carpeta también.

Copias de seguridad incrementales

Si bien eso es bueno, puede ser mejor. alquitrán ofrece copias de seguridad incrementales. Las copias de seguridad incrementales harán una gran copia de seguridad la primera vez y detectarán y los cambios de copia de seguridad para cada ejecución posterior en un archivo más pequeño separado. De esta manera, su computadora ahorra tiempo y espacio al no respaldar las mismas cosas repetidamente.

Así es como se parece ese mismo comando ejecutarse de manera incremental.

TAR-Lista-Incremental =/Media/Backup/Snapshot.Archivo -CJPF/Media/Backup/Home-Backup-'Date +%D-%M-%Y '.alquitrán.xz/home/user/documentos, descargas, imágenes, música,.configuración,.Xresources,.xinitrc,.i3,.Mozilla,.ZSHRC 

La copia de seguridad incremental necesita un archivo de instantánea para rastrear archivos y cambios. Probablemente sea una buena idea mantenerlo en el mismo directorio que las copias de seguridad.

Agrégalo a Crontab

Por ahora, deberías tener un guión que se vea como esto.

#! /bin/bash # # script de copia de seguridad del directorio de inicio # tar-listado-incremental =/media/backup/snapshot.Archivo -CJPF/Media/Backup/Home-Backup-'Date +%D-%M-%Y '.alquitrán.xz/home/user/documentos, descargas, imágenes, música,.configuración,.Xresources,.xinitrc,.i3,.Mozilla,.ZSHRC 

Asegúrese de hacer que el script sea ejecutable.

$ chmod +x/home/user/home-backup.mierda

Si estás contento con eso, puedes pasar a crear el crontabistaComando de Linux como root.

# crontab -u nombre de usuario -e 

Un editor (probablemente nano) se abrirá para que agregue su línea. Cuando hayas terminado, se verá como este.

0 3 * * */home/user/home-backup.mierda 

Momento

Muy bien, lo que probablemente te confunde son los números y los asteriscos al comienzo de la línea. Determinan el tiempo.

El primer dígito controla segundos. El segundo son horas. Los siguientes dos son días y meses. El último es el día de la semana (1-7). Si el lugar está ocupado por un asterisco, el script se ejecutará cada vez.

Un número significa que el script se ejecutará en ese momento. Para usar el ejemplo anterior, eso ejecutará el script exactamente a las 3 a.m. todos los días. Si quisieras ejecutarlo a las 3:30 am cada vez, se vería así.

30 3 * * */Home/User/Home-Backup.mierda 

Cuando tenga un tiempo que funcione para usted, guarde y salga. El script se ejecutará automáticamente en el momento en que especificó a partir de ahora.

Pensamientos de cierre

Obviamente, puede obtener diferentes capas de complejidad aquí, incluidos directorios y/o directorios cifrados. Puede optar por ahorrar varios días de copias de seguridad y eliminar las más antiguas automáticamente también. Por supuesto, sería una buena idea incluir una copia de seguridad de una unidad remota o en red también.

Puede ser una buena idea escribir un script que use Tar's --concatenar bandera para fusionar los archivos de vez en cuando. De lo contrario, tendrá muchos archivos con muy pocos archivos en ellos.

Dado que este es un método con guión, realmente solo estás limitado por tu habilidad de secuencia de comandos con Bash.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Descarga de Linux
  • Cómo crear un trabajo cron en Kubernetes
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • La mejor distribución de Linux para desarrolladores
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • Archivos de configuración de Linux: los 30 principales más importantes