Cómo comprobar si está configurado un horario de copia de seguridad en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar las tareas de copia de seguridad programadas en un sistema Linux examinando varios lugares donde se configuran los trabajos cron. Comenzarás listando los trabajos cron del usuario actual utilizando crontab -l para ver si se han establecido programaciones personales.

A continuación, explorarás los trabajos cron de todo el sistema revisando el directorio /etc/cron.d, que a menudo contiene tareas programadas instaladas por paquetes de software. Finalmente, verificarás el contenido del directorio /etc/cron.daily para ver si se han configurado scripts diarios, incluyendo posibles rutinas de copia de seguridad, para que se ejecuten automáticamente.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/crontab("Job Scheduling") subgraph Lab Skills linux/ls -.-> lab-558699{{"Cómo comprobar si está configurado un horario de copia de seguridad en Linux"}} linux/cat -.-> lab-558699{{"Cómo comprobar si está configurado un horario de copia de seguridad en Linux"}} linux/crontab -.-> lab-558699{{"Cómo comprobar si está configurado un horario de copia de seguridad en Linux"}} end

Listar los trabajos cron de un usuario con crontab -l

En este paso, aprenderás cómo ver las tareas programadas para el usuario actual utilizando el comando crontab.

cron es un programador de tareas basado en el tiempo en sistemas operativos similares a Unix. Te permite programar comandos o scripts para que se ejecuten automáticamente en intervalos especificados. Estas tareas programadas a menudo se llaman "trabajos cron" (cron jobs).

Cada usuario en el sistema puede tener su propio conjunto de trabajos cron. Estos se almacenan en un archivo especial llamado "crontab" (tabla cron).

Para ver los trabajos cron del usuario actual (labex), se utiliza el comando crontab con la opción -l. La opción -l significa "listar" (list).

Abre la terminal si aún no lo has hecho. Escribe el siguiente comando y presiona Enter:

crontab -l

Dado que este es un entorno nuevo, es probable que el usuario labex aún no tenga configurados trabajos cron. Si es ese el caso, verás un mensaje similar a este:

no crontab for labex

Este mensaje simplemente significa que no hay tareas programadas configuradas para el usuario labex.

Si hubiera trabajos cron configurados, la salida mostraría cada tarea programada en una nueva línea, especificando la programación y el comando a ejecutar.

Comprender los trabajos cron de los usuarios es el primer paso para administrar tareas programadas en un sistema Linux. En los siguientes pasos, exploraremos los trabajos cron de todo el sistema.

Haz clic en Continuar para continuar.

Verificar los trabajos cron del sistema en /etc/cron.d

En el paso anterior, aprendiste cómo ver los trabajos cron de un usuario específico. Ahora, exploremos los trabajos cron de todo el sistema.

Los trabajos cron de todo el sistema se almacenan típicamente en el directorio /etc/cron.d/. A diferencia de las tablas cron de usuario, que se gestionan con el comando crontab, los trabajos cron de todo el sistema se definen en archivos individuales dentro de este directorio.

Estos archivos a menudo son creados por paquetes de software instalados para programar tareas que deben ejecutarse en todo el sistema, como actualizaciones del sistema, rotación de registros o scripts de limpieza.

Para ver los archivos en el directorio /etc/cron.d/, puedes usar el comando ls. Dado que este directorio pertenece al usuario root, necesitarás usar sudo para listar su contenido.

Escribe el siguiente comando en la terminal y presiona Enter:

sudo ls /etc/cron.d/

Puedes ver una salida similar a esta, que enumera varios archivos:

anacron  e2scrub_all  phpsessionclean

Los archivos específicos que ves pueden variar dependiendo del software instalado en el sistema. Cada archivo en este directorio representa una configuración de trabajo cron de todo el sistema.

Para ver el contenido de uno de estos archivos, por ejemplo, phpsessionclean, puedes usar el comando cat. Nuevamente, necesitarás sudo porque el archivo pertenece a root.

Escribe el siguiente comando y presiona Enter:

sudo cat /etc/cron.d/phpsessionclean

Verás el contenido del archivo, que define cuándo y cómo se ejecuta el script phpsessionclean. El formato es similar a una tabla cron de usuario, pero también incluye un campo de usuario para especificar qué usuario debe ejecutar el comando (a menudo root).

## This file is installed by the php-common package
#
## The script will clean up old session files.
#
## See /usr/lib/php/sessionclean for details.

09,39 *	* * *	root	[ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

Esta salida muestra que el script phpsessionclean está programado para ejecutarse a los minutos 09 y 39 de cada hora, todos los días, y será ejecutado por el usuario root.

Explorar los archivos en /etc/cron.d/ te ayuda a entender qué tareas automatizadas se están ejecutando a nivel de sistema.

Haz clic en Continuar para pasar al siguiente paso.

Verificar los trabajos cron diarios en /etc/cron.daily

Además de los archivos individuales en /etc/cron.d/, los sistemas Linux a menudo utilizan directorios como /etc/cron.daily/, /etc/cron.weekly/ y /etc/cron.monthly/ para programar la ejecución de scripts en intervalos específicos.

Cualquier script ejecutable colocado en /etc/cron.daily/ se ejecutará una vez al día. Del mismo modo, los scripts en /etc/cron.weekly/ se ejecutan una vez a la semana, y los de /etc/cron.monthly/ se ejecutan una vez al mes.

Estos directorios suelen ser gestionados por un trabajo cron de todo el sistema que ejecuta un script como run-parts para ejecutar todos los scripts encontrados dentro de estos directorios.

Examinemos el contenido del directorio /etc/cron.daily/. Este directorio contiene scripts que están programados para ejecutarse todos los días.

Utiliza el comando ls con sudo para listar los archivos en este directorio:

sudo ls /etc/cron.daily/

Probablemente verás una lista de scripts, como:

apt-compat  dpkg  logrotate  man-db  passwd  update-notifier-common

Estos son scripts que realizan tareas de mantenimiento diario en el sistema, como actualizar la lista de paquetes (apt-compat), rotar los archivos de registro (logrotate) y actualizar la base de datos de páginas de manual (man-db).

Para entender lo que hace uno de estos scripts, puedes ver su contenido utilizando sudo cat. Por ejemplo, veamos el script logrotate:

sudo cat /etc/cron.daily/logrotate

La salida mostrará el código del script, que es responsable de rotar los archivos de registro del sistema para evitar que crezcan demasiado.

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
exit 0

Este script simplemente comprueba si el comando logrotate existe y es ejecutable, y si es así, ejecuta logrotate utilizando el archivo de configuración /etc/logrotate.conf.

Comprender los scripts en /etc/cron.daily/ y directorios similares te da una idea de las tareas de mantenimiento automatizadas que mantienen el sistema funcionando sin problemas.

Ahora has explorado los trabajos cron de usuario, los trabajos cron de todo el sistema en /etc/cron.d/ y los scripts cron diarios en /etc/cron.daily/. Este conocimiento es fundamental para gestionar las tareas programadas en un sistema Linux.

Haz clic en Continuar para completar el laboratorio.

Resumen

En este laboratorio, aprendiste cómo verificar las tareas de copia de seguridad programadas en Linux examinando los trabajos cron. Comenzaste listando los trabajos cron del usuario actual utilizando crontab -l, entendiendo que este comando muestra las tareas programadas específicas del usuario.

A continuación, exploraste los trabajos cron de todo el sistema revisando el directorio /etc/cron.d/, que contiene archivos que definen tareas programadas para todo el sistema, a menudo instalados por paquetes de software. Finalmente, verificaste los trabajos cron diarios ubicados en el directorio /etc/cron.daily, que por lo general contiene scripts destinados a ejecutarse una vez al día. Al revisar estas ubicaciones, puedes determinar si se han configurado horarios de copia de seguridad en un sistema Linux.