A veces necesita hacer una copia de seguridad de sus archivos importantes semanalmente, ejecutar un comando para monitorear el sistema diariamente o incluso ejecutar un script por la noche automáticamente sin tener que quedarse despierto hasta tarde para ejecutarlo.
La automatización de tareas en Ubuntu se puede realizar a través de un paquete llamado cron. Crontab es una abreviatura de cron table y es un archivo de configuración que se usa para programar comandos de shell para que se ejecuten periódicamente. Por lo general, el archivo crontab se almacena en /etc o en un directorio bajo /etc. Solo los administradores del sistema con privilegios de raíz pueden editar el archivo crontab.
En este artículo, lo guiaremos a través del archivo crontab y cómo configurar un trabajo cron en Ubuntu fácilmente.
Automatizar y programar tareas usando Crontab en Ubuntu
Primero, debe asegurarse de que su sistema esté actualizado usando los siguientes comandos:
sudo apt-get update
Después de ingresar la contraseña de sudo, el resultado debería ser algo así:
sudo apt-get upgrade
Salida:
Presione Y y espere hasta que finalice la actualización.
Ahora, comprueba si el paquete cron está instalado:
dpkg -l cron
Salida:
En caso de que el paquete cron no esté instalado, intente instalarlo:
sudo apt-get install cron
Compruebe si el servicio cron se está ejecutando:
systemctl status cron
Salida:
Si no se está ejecutando, intente iniciarlo:
systemctl start cron
Abra el archivo crontab usando su editor favorito:
sudo vi /etc/crontab
Salida:
Para editar en el archivo crontab, debe tener cuidado y seguir la sintaxis que es:
Minuto Hora día del mes Mes Día de la semana usuario comando
Entonces, digamos, por ejemplo, que necesita crear un directorio y mover un archivo de respaldo a él. Y necesita que esta tarea se ejecute diariamente a las 2.20. Luego edite el archivo crontab y agregue la siguiente línea:
20 2 /bin/mkdir testdir &&mv backupfile testdir/
Tenga en cuenta que el asterisco (*) en el archivo crontab significa todos los valores válidos.
A continuación, reinicie el servicio cron:
systemctl restart cron
Y listo, se creó el directorio y el archivo de registro se movió con éxito.
Salida:
Puede redirigir la salida del trabajo cron a un archivo separado y esto puede ayudarlo en caso de que el trabajo cron genere un error. Por ejemplo, ejecutemos el trabajo anterior nuevamente agregando una redirección a la salida a un archivo separado llamado archivo de registro (obviamente, dará un error porque el directorio ya existe). No olvide cambiar la hora del trabajo.
Salida:
Compruebe el error escrito en el archivo de registro:
Finalmente, espero que encuentre útil este tutorial, y si necesita obtener más información sobre el cron o crontab, puede consultar sus páginas de manual. Ingrese los siguientes comandos en la Terminal.
man cron man crontab