Recomendado, 2024

La Elección Del Editor

Copia de seguridad de un directorio en Linux usando un script de shell

Hay varias opciones para hacer copias de seguridad de sus datos en Linux. Puede utilizar algunos programas de software de libre acceso, como fwbackups y Sbackup. Sin embargo, hay un método simple de hacer una copia de seguridad de un directorio sin instalar ningún software adicional.

Crearemos un script de shell utilizando variables, el comando tar y el comando de fecha para crear un archivo de copia de seguridad con fecha de un directorio, con sus subdirectorios.

Un script de shell es esencialmente un archivo que contiene una lista de comandos que se ejecutan en secuencia. Si tiene una serie de comandos que ejecuta regularmente en orden, es útil crear un script de shell que contenga estos comandos. Entonces, solo tiene que ejecutar el archivo de script para ejecutar los comandos.

Creación del archivo de script de shell

Para este ejemplo, vamos a crear un script de shell para hacer una copia de seguridad de un directorio que contiene archivos para una guía del usuario. Estamos utilizando el entorno Gnome en Ubuntu .

Primero, acceda a su directorio de inicio, seleccionando Carpeta de inicio en el menú Lugares . El Explorador de archivos se abre en su directorio de inicio.

Vamos a crear un nuevo archivo vacío en el que ingresaremos los comandos para realizar la copia de seguridad. Haga clic con el botón derecho en el panel derecho y seleccione Crear documento | Archivo vacío desde el menú emergente.

Se agrega un archivo a la lista y está listo para ser renombrado. Escriba un nombre para el archivo, dándole al archivo una extensión de .sh .

Para este ejemplo, nombramos nuestro archivo user_guide_backups.sh .

Ahora necesitamos agregar los comandos al archivo. Haga clic con el botón derecho en el nombre del archivo y seleccione Abrir con gedit en el menú emergente.

El archivo se abre en gedit . Ingrese las siguientes líneas en el archivo y haga clic en Guardar . El propósito de cada línea se enumera a continuación.

NOTA: También puede copiar el siguiente texto y pegarlo en gedit . Asegúrate de cambiar a tu nombre de usuario.

 #! / bin / bash SRCDIR = "/ home // Documentos / my_work /" DESTDIR = "/ home // Backups /" FILENAME = ug - $ (fecha +% - Y% -m% -d) - $ (fecha +% - T) .tgz tar --create --gzip --file = $ DESTDIR $ FILENAME $ SRCDIR 

Descripción línea por línea

La siguiente tabla describe qué es cada línea en el archivo de script de shell.

Línea # Descripción
1 Esta línea debe ser la primera línea en un script de shell bash, que es el tipo predeterminado de script.
2 Esta línea configura una variable llamada SRCDIR y establece su valor en el directorio del cual se realizará la copia de seguridad.
NOTA: Asegúrese de reemplazar con tu nombre de usuario
3 Esta línea configura una variable llamada DESTDIR y establece su valor en el directorio en el que se escribirá el archivo de copia de seguridad.
NOTA: Asegúrese de reemplazar con tu nombre de usuario
4 Esta línea configura una variable llamada NOMBRE DE ARCHIVO y establece el valor utilizando texto y variables que contienen el comando de fecha para agregar la fecha y hora actuales al nombre de archivo. Por ejemplo, el nombre del archivo puede ser ug-20100212-13: 03: 45.tgz .
NOTA: Cuando use una variable, comience siempre con el signo de dólar ( $ ). Si usa un comando como parte de una variable, encierre el comando y las opciones para el comando entre paréntesis.
5 Esta línea es el comando tar con la siguiente función y opciones agregadas.

-crear Esta función crea un archivo nuevo (o trunca uno antiguo si el nombre de archivo especificado ya existe) y escribe los archivos o el directorio con nombre en él.
–Gzip Esta opción le dice a tar que comprima los archivos en el archivo usando la utilidad gzip .
-expediente Esta opción le da a tar el nombre de archivo a usar. En este caso, ensamblamos el nombre de archivo utilizando las variables DESTDIR, FILENAME y SRCDIR .

Edición de los permisos en el archivo de script de shell

Antes de ejecutar su script, debe asegurarse de que el archivo tenga los permisos correctos. Para hacer esto, abra su Carpeta de Inicio nuevamente como se mencionó anteriormente y haga clic derecho en el archivo de script de shell. Seleccione Propiedades en el menú emergente.

Aparecerá el cuadro de diálogo Propiedades . Asegúrese de que la casilla de verificación Ejecutar esté seleccionada.

Haga clic en Cerrar .

Ejecutando el script de shell

Para ejecutar el script de shell, abra una ventana de terminal seleccionando Accesorios | Terminal desde el menú Aplicaciones .

Cuando se abra la ventana del terminal, debería estar en su carpeta de inicio por defecto. Escribir pwd en la línea de comando y presionar Intro confirma este hecho. Cuando se le solicite, escriba ./user_guide_backups.sh y presione Entrar .

Debe tener un archivo .tgz en la carpeta Copias de seguridad en su Carpeta de inicio . Si hace clic con el botón derecho en el nombre del archivo, verá varias opciones para abrir el archivo en uno de los programas de archivo disponibles, o extraer los archivos directamente a la carpeta Copias de seguridad mediante el comando Extraer aquí .

Más información

Los enlaces a continuación proporcionan más información sobre los scripts de shell, los comandos tar y date, y otros comandos de Linux.

Scripting

Una guía rápida para escribir scripts usando el shell bash

Bash Shell Scripting - Guía de 10 segundos | Todo sobre linux

Manual de referencia de Bash

Comandos de Linux

Página de MAN de tar

fecha página MAN

comandos bash - Páginas MAN de Linux

Explorar estas páginas te ayudará a construir tus propios scripts de shell bash útiles.

Top