Saltar al contenido

Cómo usar el comando cron en Linux

¿Estás cansado de ejecutar tareas manualmente? Utilice el comando cron en Linux.

Cron, también conocido como trabajo cron, es una utilidad de línea de comandos utilizada en Linux para programar trabajos para que se ejecuten a una hora, fecha o intervalo específicos. Ejecuta comandos programados o scripts de shell en segundo plano con la ayuda de un demonio, incluso cuando el administrador o el usuario está lejos de la computadora.

Es tedioso ejecutar tareas manualmente de vez en cuando. Con eso, puede usar cron para programar tareas repetitivas para que se ejecuten periódicamente. Cron también automatiza el mantenimiento del sistema y las copias de seguridad mediante una tabla crontab / cron, un archivo de configuración donde se escriben los comandos del shell.

En este artículo, aprenderemos cómo programar tareas a través del comando cron.

¡Vamos a empezar!

Permisos de acceso cron.

Asegurarse de que solo usuarios específicos puedan recuperar archivos cron evita el uso indebido de los recursos del sistema y solo un administrador puede hacer esto.

Puede editar los permisos accediendo al /etc/cron.allow y el /etc/cron.deny archivos. Agregue el nombre del usuario en el primero para permitirles usar trabajos cron, o en el segundo para restringirlos.

Si ambos archivos no existen en su sistema, dependiendo de las configuraciones, todos los usuarios pueden usar trabajos cron o solo el administrador.

Usando crontab.

Para comenzar a usar crontab, abra su Terminal de comando presionando control + Alt + T. Aquí es donde escribirás tus comandos y programarás trabajos.

Estos son algunos de los comandos utilizados:

$ crontab –e

Este comando se utiliza para crear y editar archivos cron. Si es la primera vez que se ejecuta el comando, se le pedirá que elija un editor.

editor

Cuando termine de hacerlo, verá una pantalla que le permite editar y programar un trabajo.

comando cron en linux

Este comando muestra todos los trabajos cron existentes.

$ crontab -l
comando cron en linux

Para eliminar y, en consecuencia, anular la programación de trabajos cron, utilice este comando.

$ crontab –r

Este comando lo ejecuta un usuario root para eliminar trabajos cron para un usuario específico.

$ crontab -r -u username

Ahora, continuemos con los comandos que requieren privilegios administrativos. Estos comandos se ejecutan usando sudo como se muestra a continuación.

Para ver el crontab del villancico del usuario, use este comando.

$ sudo crontab -l -u carol

Este comando edita el crontab del usuario carol.

$ sudo crontab -u carol –e

Esto elimina el crontab para el usuario carol.

$ sudo crontab -r -u carol

Operadores Cron.

Los operadores cron son caracteres especiales que nos permiten especificar múltiples valores en un campo cron.

Incluyen lo siguiente:

  • Un asterix (*) especifica todos los valores en un campo, por ejemplo, un asterisco en el campo de días significa que un trabajo se ejecutará todos los días.
  • Una coma (,) separa los elementos de una lista; por ejemplo, si utiliza «Lun, Vie» en el quinto campo, el trabajo se ejecutará únicamente los lunes y viernes.
  • Un guión () define un rango de valores, por ejemplo, 2000-2005 en el campo de año significa cada año entre 2000 y 2005.
  • Una barra inclinada (/) divide un valor, por ejemplo, * / 3 en el campo de horas significa cada 3 horas.

Programación de trabajos cron.

Una expresión cron es una cadena con cinco o seis campos separados por un espacio y representa un momento en el que se ejecutará un trabajo cron. Esto usa un formato de 24 horas.

Para estar listo para la ejecución, un comando cron debe tener el archivo cron y una expresión cron. A continuación, se muestran algunos ejemplos de cuándo y cómo programar trabajos cron.

Programe un trabajo para que se ejecute a una hora específica.

Tomemos, por ejemplo, el guión mybackup.sh debe ejecutarse el 15th Enero a las 11:15 AM. Usamos:

15 11 15 01 * /home/jobs/mybackup.sh 

Aquí está la interpretación del comando:

15 – 15 minutos
11 – 11 a. M.
15 – 15 ° día
01 – 1er mes, es decir, enero
* – Todos los días de la semana

Programe un trabajo para que se ejecute dos veces al día.

Aquí se explica cómo ejecutar el script mydailybackup.sh todos los días a las 10 AM. y 5 p. m.

00 10, 17 * * * /home/jobs/bin/mydailybackup.sh 

El comando se interpreta como se muestra a continuación:

00 – minuto 0, comienzo de la hora
10, 17 – 10 a. M. y 5 p. m.
* – Diario
* – Mensual
* – Todos los días de la semana

Programe un trabajo cron que se ejecute todos los días durante un intervalo de tiempo.

Este ejemplo verifica el estado de la base de datos todos los días de 8 a. M. A 5 p. M.

00 08-17 * * * /home/jobs/bin/checkdbstatus 

A continuación se muestra el significado del comando.

00 – minuto 0, comienzo de la hora
08-17 – 8 AM. a las 5 PM.
* – Diario
* – Mensual
* – Todos los días de la semana

Programe un trabajo cron para que se ejecute cada número especificado de minutos.

Este ejemplo comprueba el espacio en disco cada 30 minutos.

*/30 * * * * /usr/bin/jobs/check-disk-space 
comando cron en linux

Cadenas cron predefinidas.

Hay cadenas especiales escritas en inglés simple que se pueden usar en lugar de los códigos habituales de expresión cron, como los que se enumeran a continuación.

@yearly o @annually es equivalente a 0 0 1 1 * y se ejecuta una vez al año el 1S t Enero a medianoche.
Puede ejecutarse como:

@yearly /home/jobs/bin/yearly-check

@monthly es equivalente a 0 0 1 * *. Este trabajo cron se ejecuta a la medianoche del primer día de cada mes.
Puede ejecutarse como:

@monthly /home/jobs/bin/monthly-check

@weekly está representado por 0 0 * * 0. Este trabajo se ejecuta a la medianoche del primer día de la semana.
Puede ejecutarse como:

@weekly /home/jobs/bin/weekly-backup 

@daily o @midnight es equivalente a 0 0 * * * y este trabajo se ejecuta una vez al día a la medianoche.
Puede ejecutarse como:

@daily /home/jobs/bin/weekly-backup

@hourly es equivalente a 0 * * * * y se ejecutará una vez por hora al comienzo de la hora.
Puede ejecutarse como:

@hourly /home/jobs/bin/hourly-check

@reboot El trabajo se ejecutará cuando se inicie el sistema.
Puede ejecutarse como:

@reboot /path/bin/execuable01 

Con esto concluye nuestro artículo sobre cómo usar el comando cron en Linux. Si tiene alguna pregunta o sugerencia, háganoslo saber en la sección de comentarios a continuación.

Haga clic aquí para obtener más información sobre cómo usar el comando LDD en Linux

( function( d, s, id ) {
var js, fjs = d.getElementsByTagName( s )[0];
if ( d.getElementById( id ) ) return;
js = d.createElement( s ); js.id = id;
js.src = «https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.5&appId=305449883698649»;
fjs.parentNode.insertBefore( js, fjs );
}( document, ‘script’, ‘facebook-jssdk’ ) );

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)