GNU/Linux >> Tutoriales Linux >  >> Debian

¿Qué es un trabajo cron en Linux?

Cron es un demonio que ejecuta las tareas en segundo plano del sistema. Las tareas programadas para su posterior ejecución se conocen como “Cron Jobs “. Los trabajos cron se consideran ideales para tareas recurrentes, como la creación periódica de copias de seguridad del sistema. Los usuarios de Linux pueden automatizar sus tareas habituales por hora, día, semana, mes o año utilizando Cron Jobs. Para realizar un seguimiento de los trabajos de Cron, "archivos Crontab ”, que pueden ser específicos del usuario o tener Cron Jobs en todo el sistema.

Este artículo lo guiará sobre Cron Jobs y sus tipos. Además, también le mostraremos algunos ejemplos de Cron Jobs y el procedimiento para enumerar y eliminar Cron Jobs del archivo crontab. Entonces, ¡comencemos!

Que es un trabajo cron en Linux

Cron La funcionalidad del daemon en Linux es similar a lo que hacen los Servicios en Windows, y ambos se usan para programar tareas que se ejecutarán en un momento específico en el fondo del sistema. Trabajos de Cron se utilizan principalmente para limpiar periódicamente la memoria caché del sistema o crear una copia de seguridad de los archivos de registro y las bases de datos. Mientras que el archivo crontab comprende todos los trabajos cron del sistema y también tiene una sintaxis específica para escribir los comandos.

Sintaxis del comando crontab en Linux

La sintaxis a seguir al escribir un comando crontab se proporciona a continuación:

* * * * * [Command or Script]

Aquí:

  • El primer asterisco * representa "Minuto
  • El segundo asterisco * representa "Hora
  • El tercer asterisco * representa "Día del mes
  • El cuarto asterisco * representa "Mes
  • El quinto y último asterisco * representa "Día de la semana

Ahora, revisa los valores de los campos mencionados anteriormente:

Comandos de Cron Job en Linux

Estos son algunos de los comandos de Cron Jobs que puede utilizar en su terminal de Linux:

Comando Descripción
crontab-a El “crontab -a El comando ” se utiliza para crear un archivo crontab específico del usuario. Tienes que especificar el “nombre de archivo ” en este comando después de agregar el “-a ” opción.
crontab-r El “crontab -r El comando ” se utiliza para eliminar el archivo crontab.
crontab-e El “crontab -e El comando ” se utiliza para editar el archivo crontab ya creado.
crontab-v El “crontab -v El comando ” se utiliza para mostrar la hora de modificación del archivo crontab.
crontab -l El “crontab -l El comando ” se utiliza para ver el contenido del archivo crontab.

Cómo comprobar el servicio Cron en Linux

Antes de iniciar el trabajo de Crob, asegúrese de que el “cron.service ” está actualmente activo en su sistema Linux. Para este propósito, ejecute el siguiente “systemctl ” comando:

$ sudo systemctl status cron.service

El resultado a continuación declara que cron.service está “activo ” y ejecutándose en nuestro sistema:

En caso de que el “cron.service ” está inactivo en su sistema Linux, luego ejecute el siguiente comando para iniciarlo:

$ sudo systemctl start cron.service

Tipos de trabajos cron en Linux

Los trabajos cron consisten principalmente en dos tipos:Todo el sistema Cron Jobs y Específico del usuario Trabajos de Cron. En la siguiente sección, explicaremos la diferencia entre ambos tipos y sus archivos Cron Job relacionados.

¿Qué son los trabajos cron en todo el sistema en Linux

Solo el administrador del sistema accede a los trabajos cron y se conocen como trabajos cron de todo el sistema. Estos trabajos cron se pueden encontrar en "/etc/cron.d directorio ” y “/etc/crontab " expediente. Estos archivos crontab se ejecutan a través de “/etc/cron.daily ”, “/etc/por hora ”, “/etc/cron.monthly ”, y “/etc/cron.weekly ”.

Si es administrador del sistema, puede editar el archivo "/etc/crontab ” en su editor nano para definir Cron Jobs:

$ sudo nano /etc/crontab

¿Qué son los trabajos cron específicos del usuario en Linux

Los trabajos cron específicos del usuario son los tipos de trabajos cron definidos para un usuario en particular. Estos tipos de trabajos cron existen en el "/var/spool/cron/crontabs/ ” directorio. Puede editar manualmente los archivos Cron Job especificados; sin embargo, se recomienda usar el “crontab -e Comando para realizar la operación de edición:

$ crontab -e

La ejecución del “crontab ” comando con el “-e La opción ” le mostrará tres opciones para editar el archivo Cron Job. Hemos seleccionado “1 ” ya que es fácil editar archivos en el editor nano:

Su archivo Crontab especificado por el usuario se verá así:

Ejemplos de Cron Jobs en Linux

En esta sección, le mostraremos algunos de los ejemplos de Cron Job que pueden ayudarlo a comprender la formación de Cron Jobs.

Nota: Todos los scripts que se utilizan en los ejemplos que se dan a continuación se crean manualmente.

Ejemplo 1: El siguiente comando crontab se agrega en el archivo crontab para ejecutar “/root/backup.sh ” guión después de cada 40 minutos:

40 * * * * /root/backup.sh

Después de escribir el comando crontab, presione “CTRL+O ” para guardar los cambios agregados:

Ejemplo 2: En el segundo ejemplo, escribiremos un comando crontab que ejecutará el “filescript.sh ” a las 17:00 horas los días 10 de mayo, agosto, septiembre y octubre:

00 05 10 5,8,9,10 * /usr/local/bin/filescript.sh

Ejemplo 3: El siguiente comando crontab ejecutará el “filescript.sh ” guión a las 22:00 todos los sábados:

0 10 * * sat  /scripts/filescript.sh

Ejemplo 4: También puede especificar varios días en el comando crontab. Por ejemplo, para ejecutar nuestro “filescript.sh ” script a las 4:00 p. m. todos los domingos y viernes, escribiremos este comando crontab:

0 04 * * sun,fri  /script/filescript.sh

Ejemplo 5: En el siguiente ejemplo, hemos agregado una condición que ayuda a ejecutar "/scripts/filescript.sh ” archivo cada 30 segundos:

* * * * * /scripts/filescript.sh
* * * * *  sleep 30; /scripts/filescript.sh

Ejemplo 6: También puede usar cadenas especiales de Cron Job para programar trabajos. Por ejemplo, “@daily ” se agrega al comienzo del comando crontab para programar un Cron Job, que se ejecutará todos los días:

@daily /scriptdir/filescript.sh

Especificando "@anual ” en el siguiente comando ejecutará el “filescript.sh ” guion anual:

@yearly /scriptdir/filescript.sh

Para programar un trabajo cron que ejecutará el "filescript.sh ” archivo de secuencia de comandos una vez por semana, agregue el “@weekly ” cadena al comienzo del comando crontab:

@weekly /scriptdir/filescript.sh

Del mismo modo, puede usar "@hourly ” y “@mensual ” cadenas para programar los Cron Jobs para que se ejecuten una vez por hora y una vez al mes, respectivamente.

Ejemplo 7: También puede definir Cron Jobs para un usuario en particular en el archivo abierto. Para hacerlo, consulte la siguiente sintaxis:

*****  [Username] [Script_name]

Aquí, crearemos un Cron Job que ejecutará el “scriptfile ” presente en nuestro directorio de inicio para el “linuxfoss ” usuario cada 20 minutos:

20 * * * * linuxfoss scriptfile

Ejemplo 8: ¿Quiere ejecutar una copia de seguridad de todas sus cuentas de usuario? Con la ayuda del comando crontab, puede programar una copia de seguridad del sistema. Por ejemplo, el siguiente comando crontab creará un trabajo Cron para hacer una copia de seguridad de las cuentas de los usuarios a las 6 am cada semana:

 0 6 * * 1 tar -zcf /var/backups/home.tgz /home/

Presiona “CTRL+O ” para escribir los comandos en el archivo crontab y luego salir del editor nano:

Cómo listar Cron Jobs en Linux

Enumerar trabajos cron en la terminal es útil cuando se ven todos los trabajos cron a la vez. Para este propósito, puede agregar el “-l ” opción en el “crontab ” y luego ejecútelo en su terminal Linux de la siguiente manera:

$ crontab -l

En nuestro archivo crontab, solo hemos guardado el Cron Job para crear una copia de seguridad para todas las cuentas de usuario, y también se puede ver en el resultado:

Cómo crear una copia de seguridad de Cron Jobs en Linux

Le mostramos la lista de Cron Jobs usando el “crontab " dominio. También puede redirigir la salida de “crontab -l ” a un archivo específico para crear una copia de seguridad de los Cron Jobs agregados. El STDOUT o el operador de redirección “> ” se puede utilizar para realizar la operación especificada:

$ crontab -l > backupfile.txt

Ahora, escriba el "gato ” con el nombre del archivo de copia de seguridad de Cron Job para ver su contenido:

$ cat backupfile.txt

Cómo eliminar Cron Jobs en Linux

El “-r La opción ” se agrega en el comando crontab para eliminar los trabajos cron del archivo crontab. Además, puede agregar el "-i ” opción para solicitar al usuario que elimine los trabajos cron:

$ crontab -i -r

Para eliminar Cron Jobs sin aviso, ejecute el simple "crontab -r ” comando, ¡y listo!

$ crontab -r

Conclusión

La programación y automatización de procesos repetitivos aumenta la productividad en un sistema basado en Linux al tiempo que reduce la supervisión manual y la interrupción del usuario. Existen enormes programas que ayudan a programar tareas; sin embargo, el "Cron ” es el más utilizado. En el archivo crontab, agregamos nuestros Cron Jobs utilizando el "Cron ” demonio. Este artículo explica la sintaxis de Cron Job, los comandos relacionados y los tipos de Cron Jobs. Además, también hemos demostrado algunos ejemplos de Cron Jobs que pueden ayudarlo a comprender la estructura de comandos de Crontab.


Debian
  1. 4 alternativas a cron en Linux

  2. Cómo uso cron en Linux

  3. ¿Qué es un usuario de Linux?

  4. ¿Qué es Rootkit Hunter?

  5. ¿Qué es JingOS Linux?

Trabajos cron programados

¿Qué es Login Shell en Linux?

¿Qué es el promedio de carga en Linux?

¿Qué es el archivo .bashrc en Linux?

Linux Crontab:15 impresionantes ejemplos de trabajo de Cron

Cron Vs Anacron:Cómo configurar Anacron en Linux (con un ejemplo)