Una guía para principiantes para Crontab en Centos

Una guía para principiantes para Crontab en Centos

El "cron"Daemon es una aplicación Linux incorporada que los usuarios de Linux utilizan para programar la ejecución de procesos. Cron busca el "mesas cron" o "crontabista"Para los archivos y scripts particulares. El archivo CRONTAB proporciona un conjunto de comandos que puede ejecutar regularmente. También proporciona los nombres de los comandos que se utilizan para administrar la lista de comandos. Crontabista También utiliza el planificador de Cronjob para llevar a cabo operaciones. Según un conjunto de instrucciones, Cron es una función del sistema que hará o ejecutará procesos para usted. Crontab es el nombre del horario, así como la utilidad que se utiliza para estas modificaciones.

En esta publicación, cubriremos los siguientes puntos relacionados con Crontab:

  1. Historia
  2. Versiones modernas de Cron
  3. Que es un cronjob?
  4. ¿Por qué usar Cronjob??
  5. Elementos de Cronjob
  6. Crontab funcionando
  7. Uso de Crontab
  8. Sintaxis de crontab
  9. Personajes especiales en expresión
  10. CRON SPECIAL STRINGS
  11. Variable ambiental
  12. Variable crontab
  13. Opciones de comando crontab
  14. Instalación de Cron en Centos
  15. Programador de Crontab: en todo el sistema
  16. Acceso cron
  17. Gestión de crontab
  18. 14 ejemplos de cronjob
  19. Creación de Cronjob para usuario específico
  20. Enumerando Cronjobs
  21. Creación de respaldo de Cronjobs
  22. Eliminar Cronjobs
  23. Gestión de la salida de Cronjob
  24. Límites de Cronjob
  25. Manejo de errores de Cronjob
  26. Generadores de sintaxis para crontab
  27. Front-end gráficos para crontab

Así que vamos hacia este viaje!

Historia:

Cuando el sistema operativo habilitó el modo de usuarios múltiples para sus usuarios, se llamó al servicio del sistema CRON desde ""/etc/rc". Su algoritmo consiste en los siguientes pasos:

  1. Leer el "/usr/lib/crontab"Directorio.
  2. Compruebe si los comandos se ejecutan en la hora y fecha de actualidad, luego ejecute los comandos como root, el superusador.
  3. Duerme un minuto.
  4. Repita el paso 1 desde el principio.

Esta versión de cron fue confiable y directo, pero utilizó recursos independientemente de si tenía algún trabajo que hacer. Durante un experimento de finales de la década de 1970 en la Universidad de Purdue, se descubrió que se extiende una Vax compartida en el tiempo Servicio de Cron a los 100 usuarios pusieron demasiada presión sobre el sistema.

Versiones modernas de Cron:

New Crons apareció con la introducción del proyecto Linux y GNU. El "Vixie cron", Creado por Paul Vixie en 1987, es el cron más común que existe. El Vixie cron La versión 3 se introdujo en el último trimestre de 1993. En enero de 2004, ISC Cron pasó a llamarse versión 4.1. La mayoría de las distribuciones de BSD y Linux usan la versión 3, que tiene algunas correcciones de errores menores. En 2007, Red Hat separó Vixie-Cron 4.1, y Anacron 2.3 se agregó en 2009. Anacron y Dcron son otras dos implementaciones prominentes. Anacron no es un programa cron independiente. Debe ser llamado por otro cronjob. Matt Dillon, el fundador de Dragonfly BSD, creó Dcron, y Jim Pryor se hizo cargo de su mantenimiento en 2010.

Dale Mellor creó MCRON, una versión de Cron basada en Guile que es compatible con Vixie Cron, en 2003. También permite una mayor flexibilidad al incluir cualquier código de esquema en descripciones de tareas y cálculos de programación. MCRON se instala de forma predeterminada bajo la administración de paquetes de Guix. También garantiza que se instalen los paquetes requeridos y que los crontabs relevantes se refieran correctamente a ellos. Cuando las implementaciones de Cron no se pueden acceder en un entorno de alojamiento web, una solución de WebCron establece tareas de anillo para ejecutar regularmente.

Que es un cronjob?

Cron es una herramienta que le permite programar tareas para la ejecución posterior. Es posible que desee usar otro comando si desea planificar un trabajo único para una fecha posterior. Al mismo tiempo, Cron es ideal para tareas recurrentes.

Puede estar familiarizado con los procesos de fondo en Windows, como los servicios. Cron es un demonio que realiza su funcionalidad al ejecutar las tareas en segundo plano. En un estado inactivo, el demonio espera realizar una tarea desde el sistema de trabajo o otro sistema basado en Linux presente en la red. Hablando sobre la estructura del archivo cron, tenemos un archivo cron, un archivo de texto simple que incluye comandos que se ejecutarán en la hora programada. El "/etc/crontab"Es el archivo CRONTAB del sistema predeterminado, que existe en el siguiente directorio CRONTAB:"/etc/cron.*/". Los administradores del sistema pueden modificar el archivo CRONTAB del sistema.

Los sistemas operativos basados ​​en Linux admiten numerosos usuarios. Cada uno de ellos puede crear su archivo crontab y agregar comandos para ejecutar tareas siempre que deseen. Un Cron Daemon verificará el archivo CRONTAB, luego realizará el trabajo en segundo plano. También puede utilizar cronjobs para crear copias de seguridad, monitoreo del espacio de disco y para automatizar el mantenimiento del sistema. Las tareas cron son ideales para una máquina que ejecuta los siete días de la semana, las 24 horas del día. Si bien los administradores del sistema usan principalmente tareas cron, también pueden ser extremadamente valiosos para los desarrolladores web.

¿Por qué usar Cronjob??

  • Cronjobs ayuda a archivar tablas de bases de datos.
  • Elimine los archivos de registro que sean mayores de un año.
  • Envía notificaciones por correo electrónico, como avisos de vencimiento de contraseña y boletines.
  • Asiste al sistema operativo para tomar una copia de seguridad programada de bases de datos y archivos de registro.
  • Limpieza de datos en caché regularmente.
  • Se utiliza para automatizar el mantenimiento del sistema.
  • Es una herramienta tremenda utilizada para automatizar tareas de Unix.

Elementos de Cronjob:

La mayoría de los Cronjobs tienen tres partes:

  • El dominio que se utiliza para ejecutar un script.
  • El guion que se ejecutará.
  • El producción de ejecución de script.

La mayoría de los programas que necesitan el uso de un cronjob proporcionarán instrucciones detalladas sobre cómo configurarlo.

El archivo CRONTAB:

Una línea de archivo CRONTAB está "inactiva" o "activa". Una línea "activa" es una entrada de comando cron o un parámetro de entorno. Cualquier línea que se ignore, incluidos los comentarios, se considera "inactivo". Las pestañas, los espacios principales y las líneas en blanco no se tienen en cuenta. Líneas con el signo "#" como el primer personaje sin espacio se lee como comentarios e ignorados. En la configuración de la variable de entorno o los comandos cron, los comandos no pueden existir en la misma línea porque si hace esto, los comentarios se convierten en parte del comando cron.

CRONTAB funcionando:

Se pueden encontrar crontabs en el directorio local, como en "/var/spool" o "/var/spool/cron/crontabs", Que es su subdirectorio. Incluso si están presentes en cualquiera de estos lugares, use el comando crontab para lograr la tarea de editarlos. Descubriremos qué componentes se necesitan antes de que pueda esperar los resultados deseados de las acciones de Crontab. La entrada en el crontab debe estar presente en el primer comando. Los cinco parámetros indican su tiempo de ejecución y si debe ejecutarse o no. El CRONTAB se puede editar primero ingresando el modo de edición con el comando "crontab -e". Una vez que haya dado tiempo como entrada, el crontab está listo para ejecutarse en el momento especificado.

El Daemon Cron ayuda a realizar las verificaciones necesarias para que el comando crontab se pueda ejecutar en ese caso. Cada minuto, el daemon crontab verifica el crontab. Como resultado, este crontab contiene información hasta el minuto. Después de realizar el cheque, el comando asociado se ejecuta con los campos en el CRONTAB que coincide con la hora actual.

Se deben evitar situaciones como "horas faltantes" durante el ahorro de la luz del día porque es posible que el comando ni siquiera se ejecute una vez. Por otro lado, si el tiempo ocurre más de una vez, el comando puede incluso ejecutarse dos veces. Otro ejemplo es que un guión "-" puede realizar el Cronjob varias veces durante el día. Por ejemplo, si alguien desea realizar un Cronjob en la hora 10 y 11 del día, se puede usar el comando 10-11. Otro aspecto crítico de la ejecución de Cronjobs es la configuración para permitir que los trabajos se ejecuten. Permitir o negar a un usuario que realice cronjobs se puede lograr haciendo algunos cambios en el cron.Permitir o cron.Denegar archivos.

Uso de Crontab:

Linux System Pack ha incluido "Crontab" para la programación de trabajo. En consecuencia, ejecutar un script como root hace que las actualizaciones del sistema sean más fáciles de mantener. Es tan simple como cambiar el cronjob y, después de eso, espere el proceso de reinicio.

Sintaxis del crontab:

La sintaxis del CRONTAB comprende seis campos en los que los primeros cinco campos están relacionados con la fecha y hora de ejecución. Cada campo en un archivo CRONTAB existe en el siguiente orden:

(s) hora (s) hora (s) día (s) mes (s) mes (s) de lunes a viernes (s) comando (s)
  • minuto: Su valor se encuentra entre el rango 0-59. La opción de minuto define el minuto exacto que ejecuta el comando CRONTAB.
  • hora: Su valor se encuentra entre el rango 0-23. La opción de hora define el día en que se ejecuta el comando CRONTAB.
  • día: Su valor se encuentra entre el rango 1-31. La opción del día especifica el día en que se ejecuta el comando CRONTAB.
  • mes: Su valor se encuentra entre el rango 1-12 o Jan-Dec. La opción de mes determina el mes del año que ejecuta el comando crontab.
  • día laborable: Su valor se encuentra entre el rango 0-6 o el sol al día. Las opciones de los días de semana definen el día de la semana que ejecuta el comando crontab.
  • dominio: La opción de comando establece la secuencia de los comandos que se realizarán.

Echa un vistazo a la siguiente sintaxis del comando crontab:

***** /pathtoscript
  • Especificar el rango: Use "-" Hyphen para definir un rango particular: 30-50, 40-100, o en el martes veloz, julio-dic.
  • Para fines coincidentes, utilizar asteriscos (*).
  • Definir múltiples rangos: Los usuarios pueden definir varios campos que un comando puede separar, como Dec-May o Feb-sept.

Caracteres especiales en expresión:

  • "?"Se usa para representar" cualquiera "en los siguientes campos: <día de la semana> y para denotar cualquier valor arbitrario e ignora el valor de campo. Por ejemplo, podemos ingresar un "?" en el parámetro para ejecutar un script en el "7º de cada mes", Independientemente del día de la semana ese día.
  • "*"Se usa para indicar todo o que el evento debe ocurrir por una unidad de tiempo. Por ejemplo, en el campo, "*"Significa por cada minuto.
  • "-"Representa el" rango ". Por ejemplo, cuando usamos el "-"Entre las horas de 9-12, significa" 9, décimo, 11 y 12 horas ".
  • Los valores incrementales se especifican utilizando el símbolo incremental "/". Por ejemplo, en el campo de minuto, un "10/10" implica "10, 20, 30, 40 y 50 minutos de una hora".
  • "," o "Coma"Proporciona un rango de valores. Por ejemplo, "Martes, Thur, Sat"Significa"Martes, jueves, sábado".
  • Cuando se emplea en diversos campos, la carta "L"(Último) tiene varios significados. Según el mes calendario, si se utiliza en el campo como "31 de marzo", implica el último día de marzo. Usando un valor de compensación con él, como "L-2", Significa el segundo día del último día del mes.
  • El día de semana más cercano (de lunes a viernes) a un día determinado del mes está determinado por "W" (día laborable). Si ponemos "4W" en el campo, significa "día de la semana cerca del 4 de ese mes".
  • "#"Denota el"N-th"Ocurrencia de lunes a viernes en un mes; por ejemplo, "Segundo viernes del febrero" sería "2#2".

CRON SPECIAL STRINGS

El Cron Daemon tiene algunos atajos que facilitan las definiciones de trabajo.

Estas palabras tienen un significado preciso, y puede utilizarlas en la sintaxis en lugar de la especificación de fecha de 5 columnas. Los siguientes son algunos de los atajos de Cron:

@cada hora: Es lo mismo que "0 * * * *"Y ejecuta el comando al comienzo de cada hora.

@a diario: Es lo mismo que "0 0 * * *"Y ejecuta el comando una vez al día, a las 12 a.metro. (medianoche).

@semanalmente: Es lo mismo que "0 0 * * 0"Y ejecuta el comando todas las semanas el domingo a medianoche.

@mensual: Es lo mismo que "0 0 1 * *”Y ejecuta el comando a las 12 a.metro. (medianoche) El primer día de cada mes.

@anual: Es lo mismo que "0 0 1 1 *"Y ejecuta el comando una vez al año el 1 de enero a la medianoche.

@reiniciar: Cada vez que se reinicie el sistema, este comando se ejecutará.

Variable ambiental:

Cuando Cron ejecuta un trabajo, un entorno que establece una línea en el Crontab puede establecer variables de entorno.

En el crontab, se puede agregar una configuración de entorno como:

nombre = valor

Los espacios son opcionales alrededor "valor". Además, adjunta está la cadena en citas para mantener los espacios en blanco o los principales en blanco.

Cron establece algunas variables de entorno para usted automáticamente:

  • El CAPARAZÓN La variable se establece en "/bin/sh".
  • El directorio de propietarios de Crontab "/etc/passwdLa línea se usa para establecer Inicio y nombre de logname. Caparazón y casa se puede modificar en tiempo de ejecución utilizando la configuración de Crontab, pero no podemos hacer lo mismo con Nombre de logn.
  • A veces la variable Nombre de logn que se conoce como "USUARIO"En los sistemas BSD. También tenemos que establecer el "USUARIO"Configuración.

Variables de Crontab:

Algunas de las variables cron más utilizadas regularmente se enumeran a continuación:

  • CAMINO: Es una lista de directorios que será buscar.
  • Mailto: Especificar quién recibe la salida de cada comando por correo electrónico.
  • HOGAR: El directorio de inicio del usuario iniciado.
  • Nombre de logn: El nombre del usuario actual.
  • Lang: Las configuraciones de localización actuales
  • EDITOR: El editor predeterminado para los archivos.
  • CORREO: La ubicación de almacenamiento de correo del usuario actual.
  • TÉRMINO: La emulación actual de un terminal.
  • USUARIO: El usuario actual que actualmente registra.
  • CAPARAZÓN: La ruta de shell del usuario actual, como Bash.

Opciones de comando crontab:

  • -u [usuario]: Esta opción lo ayudará a definir el usuario.
  • -N [Host]: Establezca cualquier host en el clúster para ejecutar los crontabs de los usuarios utilizando la opción "-n".
  • -x [máscara]: Utilice la opción "-x" para habilitar la depuración.
  • -mi: Esta opción se utiliza para editar el CONTAB del usuario.
  • -R: Para eliminar el CRONTAB de un usuario, utilice la opción "-R".
  • -L: Para enumerar el crontab del usuario, escriba el "-l" en el comando crontab.
  • -C: Para obtener el host en el clúster para ejecutar los crontabs de los usuarios y utilizar la opción "-c"
  • -i: Para solicitar antes de eliminar, se utiliza la opción "-i".
  • -s: Consulte el contexto de Selinux utilizando la opción "-s".

Instalación de Cron en Centos:

Por defecto, Cron se incluye en Centos 8. Por alguna razón, si aún no lo tiene, instálelo en su sistema:

$ sudo dnf instalación cron
$ sudo systemctl Enable - -Now Crond.servicio
$ sudo systemctl status crond

Programador de Crontab: en todo el sistema

Regularmente, la mayoría de los servicios usan crontab. Los servicios utilizan su configuración de crontab programador directamente al "/etc/cron.d"Directorio. Después de eso, el planificador ejecutará automáticamente los archivos presentes en este directorio. Las siguientes son las carpetas preconfiguradas de Crontab: "/Etc/cron.por hora ","/etc/cron.diariamente ","/etc/cron.semanalmente ", y"/etc/cron.mensual". Los administradores de Linux tienen un control total sobre estos directorios. Al mismo tiempo, el planificador atraviesa y ejecuta estos archivos crontab regularmente. Además, si los usuarios raíz quieren ejecutar algo, por ejemplo, quiere ejecutar un script en particular todos los días, colocará el archivo dentro del "/etc/cron.a diario"Directorio.

Acceso cron:

Puede asignar control sobre la ejecución de cualquier archivo utilizando cron. Evaluar esta funcionalidad utilizando los siguientes archivos:

/etc/cron.permitir: Permitir

/etc/cron.denegar: Denegar

Cosas a tener en cuenta:

  • Solo el usuario raíz puede usar cron si faltan ambos archivos mencionados anteriormente.
  • Usando CRON, agregue el nombre antes del archivo, ya sea que desee negar o permitir cualquier nombre de archivo en particular.
  • Agregue la línea antes del cron.Denegar el archivo si no desea que ningún otro usuario use cron.
  • Si nada se escribe en el cron.Denegar el archivo, todos los usuarios pueden trabajar con Cron.
  • Si aparece un nombre de usuario en ambos archivos: Cron.Permitir, cron.Denegar, entonces ese usuario aún puede usar Cron.
  • Supongamos que se menciona a un usuario en Cron.negar, pero no existe cron.Permitir el archivo con respecto a eso; entonces todos los usuarios pueden usar cron excepto el especificado.

Gestión de Crontab:

Como hemos discutido CRONTAB anteriormente, es un archivo en particular que contiene el cronograma de trabajos ejecutado por Cron. Por otro lado, estos trabajos no están destinados a editarse directamente. El comando crontab se recomienda para este propósito. El comando CRONTAB le permite editar el CRONTAB relacionado con su perfil de usuario sin la necesidad de cambiar sus privilegios. Este comando también le notificará los errores presentes en el crontab, lo que no sería posible si se edite directamente. Utilice el siguiente comando para editar su crontab:

$ crontab -e

En los sistemas Linux, "/ etc/ directorio"Contiene otro archivo CRONTAB. En la ubicación mencionada, existe un CRONTAB en todo el sistema que incluye un campo que especifica qué privilegios de un perfil de usuario para ejecutar Cronjobs. Utilice el siguiente comando para cambiar el crontab de todo el sistema:

$ sudo nano /etc /crontab

El otro método más fácil para acceder y editar el archivo CRONTAB es utilizar el "nano" editor. Hacer "nano"Su editor predeterminado siguiendo estos pasos:

$ nano ~/.bash_profile

Agregue la siguiente línea al inicio del archivo abierto:

Export Visual = "Nano"

Guarde la línea agregada en el " ~/.bash_profile"Y salir. Después de eso, recargar el "~/.bash_profile" archivo.

ps . ~/.bash_profile

Ahora, escriba este comando para agregar cronjobs:

$ crontab -e

Este es el archivo CRONTAB, donde guardaremos todos nuestros cronjobs:

Para ver el contenido del archivo CRONTAB, utilice el siguiente comando:

$ crontab -l

Nota: Actualmente, no hemos agregado ningún cronjob en el archivo CRONTAB para imprimir cualquier cosa.

Para eliminar los Cronjobs programados en el archivo CRONTAB, escriba este comando:

$ crontab -r

14 Ejemplos de Cronjob:

Ejemplo 1: Ejecución de Cronjob cada 50 minutos

El siguiente comando CRONTAB ejecutará el "actualizadob"Después de cada 50 minutos:

50 * * * * ActualatedB

Ejemplo 2: ejecución de Cronjob en tiempo y meses especificados

CONTAB Ejemplo para ejecutar /usr/local/bin/testScript.mierda a las 8:00 p.metro. el 20 de enero, febrero, marzo y abril:

00 08 20 1,2,3,4 */usr/local/bin/testScript.mierda

Ejemplo 3: Ejecución de Cronjob en cada viernes 1 p.metro.

El comando otorgado a continuación permitirá que el sistema ejecute el "testScript.mierda"Todos los viernes, 1 P.metro.:

0 01 * * fri /scripts /testScript.mierda

Ejemplo 4: Ejecución de Cronjob en cada minuto

Para ejecutar un script en particular después de cada minuto, consulte la sintaxis de este comando:

* * * * * * /scripts /testScript.mierda

Ejemplo 5: ejecución de Cronjob en días especificados

A continuación se muestra un ejemplo que lo ayudará si desea programar un Cronjob para ser ejecutado en días particulares. Este ejemplo ejecutará el "testScript.mierda”Los lunes y miércoles a las 2 p.metro.:

0 02 * * lon, wed /script /testScript.mierda

Ejemplo 6: Ejecución de Cronjob el primer lunes de cada mes

El parámetro de tiempo no es suficiente para establecer en este ejemplo. Utilizaremos una condición para especificar que el script en particular debe ejecutarse en el primer lunes de cada mes:

0 2 * * lon [$ (fecha +%d) -le 07] && /script /testScript.mierda

Ejemplo 7: Ejecución de Cronjob en cada 10 segundos

Nuevamente, especificaremos una condición para ejecutar el Cronjob cada 10 segundos:

* * * * * * /scripts /script.mierda
* * * * * duerme 10; /scripts/script.mierda

Ejemplo 8: Ejecución de Cronjob para múltiples tareas

Use (;) para configurar CRON para ejecutar múltiples comandos de la siguiente manera:

* * * * * /scripts /testScript1.mierda; /scripts/testScript2.mierda

Ejemplo 9: Ejecución de Cronjob al comienzo de cada año usando "@Yearly"

Ejecutar una tarea en el primer minuto de un año nuevo es útil en el caso en que tenga que enviar deseos de año nuevo a alguien."0 0 1 1 *"Es similar a la marca de tiempo"@anual":

@Yearly /scripts /testScript.mierda

Ejemplo 10: Ejecución de Cronjob al comienzo de cada mes usando "@Monthly"

Puedes usar el "@mensual"Timestamp para ejecutar las tareas mensuales, como la facturación a los clientes y pagar facturas:

@Monthly /Scripts /TestScript.mierda

Ejemplo 11: Ejecución de Cronjob al comienzo de cada semana usando "@Weekly"

Ejecute cualquier tarea al comienzo de la semana, como la limpieza del sistema utilizando el "@semanalmente"Marca de tiempo. "semanalmente" es equivalente a "0 0 * * lon":

@weekly /bin /testScript.mierda

Ejemplo 12: Ejecución de Cronjob al comienzo de cada mes usando "@Daily"

"@a diario"La marca de tiempo es equivalente a"0 0 * * *". Se utiliza para ejecutar el diario basado en tareas:

@daily /scripts /script.mierda

Ejemplo 13: ejecución de Cronjob al comienzo de cada hora usando "@Hourly"

"@cada hora"La marca de tiempo es equivalente a"0 * * * *". Puede utilizar esta marca de tiempo para ejecutar tareas por hora:

@hourly /scripts /testScript.mierda

Ejemplo 14: Ejecución de Cronjob para el reinicio del sistema

"@reiniciar"Es útil para las acciones que desea ejecutar siempre que el sistema arranca. Es útil para lanzar automáticamente tareas en segundo plano. Este tipo de cronjob se usa para programar los scripts de inicio.

@reboot /scripts /testScript.mierda

Creación de Cronjob para usuario específico

Para programar un Cronjob para un usuario en particular, especifique su nombre de la siguiente manera:

***** Nombre de usuario /path_to_script

Ahora, vamos a ver un ejemplo rápido:

50 * * * * Linuxhint actualizadob

Este comando ejecutará el "actualizadob"Después de cada 50 minutos para el"Linuxhint"Usuario.

Enumerando Cronjobs:

Use este comando para enumerar los cronjobs programados en su sistema:

$ crontab -l

Creación de respaldo de Cronjobs:

Para crear una copia de seguridad de los cronjobs programados, utilice este comando:

$ crontab -l> cron -backup.TXT

Verifique el contenido del "Cron-Backup.TXT"Para asegurarse de que los cronjobs estén respaldados o no:

$ Cat Cron-Backup.TXT

Retire los cronjobs:

Método 1: sin aviso

El "crontab -rEl comando se usa para eliminar cronjobs:

$ Crontab -r

Método 2: con aviso

La ejecución del siguiente comando le mostrará un mensaje antes de eliminar el CRONTAB:

$ crontab -i -r

Gestión de la salida de Cronjob:

Como hemos mencionado en la introducción de Cronjob, estos trabajos operan en segundo plano. Esa es la razón por la que no siempre es evidente si han completado la tarea con éxito o no. En este punto, tiene alguna comprensión relacionada con la programación de Cronjob y su uso. Ahora, puede experimentar con varias formas de redirección de salida de los Cronjobs. Esta redirección lo ayudará a rastrear la funcionalidad de Cronjobs.

Por ejemplo, puede enviar la salida de CronJobs a la dirección de correo electrónico asociada con su perfil de usuario de Linux si tiene un agente de transferencia de correo instalado y configurado en su servidor, como "Enviar correo". En comparación, un "Mailto"La configuración en la parte superior del crontab también se puede utilizar para proporcionar direcciones de correo electrónico manualmente. Agregue las siguientes líneas a su archivo CRONTAB, en el que tenemos un "MailtoDeclaración seguida de mi dirección de correo electrónico, una directiva de inicio que se refiere al directorio donde se debe encontrar el binario cron, una sola tarea cron y una CAPARAZÓN Directiva que indica que la carcasa se ejecuta, que es BASH en nuestro caso.

Mailto = "[email protected] "
Shell =/bin/bash
Inicio =/
50 * * * * Linuxhint actualizadob
* * * * * * echo 'Ejecute este comando cada 50 minutos'

Esta tarea devolverá el mensaje "Ejecute este comando cada 50 minutos". La salida se enviará por correo electrónico a la dirección de correo electrónico especificada presente en el "Mailto"Directiva. Para evitar recibir un correo electrónico con el resultado, puede redirigir la salida de la tarea cron a una ubicación o archivo de registro vacío.

Para enviar la salida de un comando programado a un archivo de registro: anexar >> Al final del comando, con el nombre y la ruta del directorio que contiene el archivo de registro, como se muestra a continuación:

* * * * * * echo 'Ejecute este comando cada 50 minutos' >>/directorio/path/file.registro

Hemos creado un archivo de registro de muestra para este propósito, por lo que escribiremos este comando de la siguiente manera:

* * * * * * echo 'Ejecute este comando cada 50 minutos' >> /testFile /samplefile.registro

Límites de Cronjob:

Servidor dedicado y vps: En este caso, no existe restricción a tiempo para la ejecución de Cronjob.

Compartido y revendedor: Un Cronjob no puede ejecutarse más de una vez cada 15 minutos.

Manejo de errores de Cronjob:

Método 1: usando /dev /null

En lugar de recibir una alerta de correo electrónico, puede enviar fácilmente nuestros errores de Cronjob y registrarse a Dev/NULL. Todo lo que enviamos o escribimos a Dev/Null se descarta.

* * * * * * cd /home /linuxhint && /bin /bash shell-testscript.sh> /dev /null 2> y 1
  • El "> /dev /nuloParte del comando indica que Cron redirige la salida estándar (stdout) a /dev /null.
  • El descriptor del archivo "2"Es para un error estándar (stderr), mientras que el descriptor de archivos de Standard Out es" 1 ".

Método 2: Enviar salida a un archivo en particular

Es un método popular, y la mayoría de los usuarios prefieren este método. En este método, debe crear un archivo para guardar los registros de CronJob. Si el trabajo se completa con éxito, imprimirá la salida; De lo contrario, imprimirá un error.

Hemos creado un archivo de registro de muestra para este propósito, por lo que escribiremos este comando de la siguiente manera:

* * * * * * cd /home /linuxhint && /bin /bash shell-testscript.SH >> Muestra.registro

Aquí:

  • El "* * * *"Indica que se llevará a cabo una tarea cada 50 minutos de cada hora, día, cada semana y mes.
  • El camino y el ejecutable del shell bash es "/bin/bash".
  • El directorio se cambiará a "/Inicio/Linuxhint", Que contiene el shell-testscript.SHIR SCRIPTO.
  • El ">>"El símbolo agrega la salida a un archivo creado anteriormente", "archivo de muestra.registro", Mientras que un solo símbolo sobrescribe el archivo.

Generadores de sintaxis para crontab:

A partir de la demostración del ejemplo, puede determinar qué tan fácil es programar un cronjob. A veces, no puedes memorizar una sintaxis de Cronjob en particular. Para que el trabajo sea aún más manejable, hay pocos generadores de sintaxis basados ​​en la web para cron para usted. Ahora, hablaremos sobre algunos sitios web que generan expresiones crontab. Estas expresiones se basan en sus aportes. Simplemente copie/pegue la línea en el archivo CRONTAB de su sistema después de generar la expresión de CRONTAB de acuerdo con sus requisitos.

Generador de Crontab:

Crontab Generator es una herramienta basada en la web que le permite crear expresiones crontab más rápido y sin esfuerzo. Este sitio web comprende un formulario con varias entradas.

El usuario tiene que completar todos los campos esenciales en los formularios. En los campos, puede seleccionar el valor para el comando de sintaxis según su requisito:

Luego, esta herramienta de generador de Crontab emitirá un comando en la siguiente sección resaltada. Copie el comando generado, péguelo en su archivo CRONTAB y haya terminado!

Crontab Guru:

Este sitio web está personalizado para proporcionar ejemplos de ejemplos de cronjobs. Solo tiene que ingresar su información en el sitio web y generará sintaxis de Crontab en unos minutos.

Cronmaker:

Es otro sitio web que también se basa en el propósito de generar sintaxis del comando Cronjob:

Front-end gráficos para crontab:

Algunas utilidades front-end de Crontab están disponibles para crear tareas cron utilizando una interfaz gráfica de usuario. Para administrar o agregar tareas cron, no hay necesidad de actualizar el archivo CRONTAB desde la línea de comandos. Estas herramientas harán que la administración de Cronjobs sea muy fácil!

Zeit:

Cañón es una aplicación gratuita creada en el lenguaje de computadora C ++. Según la licencia GPLV3, se puede acceder al código fuente de esta aplicación en GitHub. Es un QT basado en el QT "crontabista" y "en"Comando front-end. Podemos utilizar ZEIT para las siguientes tareas:

  • Para agregar, modificar y eliminar trabajos crontab.
  • Para eliminar, editar o agregar variables de entorno de crontab.
  • Para establecer alarmas y temporizadores.

CRONTAB UI:

Crontab UI es una solución basada en la web para administrar Cronjobs en Linux con facilidad y seguridad. No tiene que editar el archivo CRONTAB manualmente para crear, eliminar y administrar tareas cron. Con algunos clics del mouse, puede hacer todo en este navegador web. La interfaz de usuario de Crontab hace que sea simple crear, editar, detener, eliminar y hacer una copia de seguridad de las tareas cron. También juega su papel en importar, exportar e implementar cronjobs a otras máquinas.

Conclusión:

Cron es una herramienta versátil y poderosa que puede ayudarlo con una variedad de tareas de administración del sistema. Puede automatizar operaciones que normalmente se complican con scripts de shell. Este artículo comprende una guía de CONTAB completa para principiantes, que discutió todo, incluido el trabajo en Crontab, su uso, su instalación en CentOS, ejemplos prácticos de CRONJOBS y Generadores de sintaxis de Crontab.