Aprenda Linux

Cómo crear trabajos Cron en Linux

Cómo crear trabajos Cron en Linux

Un trabajo Cron o Cron es un programador basado en el tiempo común en los sistemas Linux / Unix. Programa tareas de usuario específicas para que se ejecuten periódicamente en una fecha, hora o intervalos fijos. La mayoría de estas tareas son scripts para realizar funciones como copias de seguridad y más. Para crear estos trabajos cron, usamos los comandos crontab. Un crontab es un comando / utilidad de UNIX que se utiliza para crear y administrar trabajos cron.

Como verá a continuación, crear y editar un trabajo cron es bastante simple. La parte más sorprendente es que no necesita reiniciar cron o incluso su PC después de crear o editar un trabajo cron. Simplemente guarde el archivo y estará listo para comenzar.

Usos comunes de Cron Jobs

Partes básicas de un comando cron

La sintaxis estándar del crontab es la siguiente:

a b c d e NOMBRE DE USUARIO / ruta / a / salida del script

1.Los cinco campos especifican la hora y la fecha, junto con la repetición del trabajo:

Nota: Los días comienzan con el lunes. 0 y 7 representan el domingo

2. NOMBRE DE USUARIO: Recuerde reemplazar esto con su nombre de usuario

3. La ubicación específica y el script que ejecutará cron se especifican en el tercer segmento:

/ ruta / a / script

4. La última sección define la notificación al usuario al finalizar el trabajo como una forma de realizar un seguimiento de las tareas:

producción

Sin embargo, su bandeja de entrada puede estar llena de tareas menores que se canalizan con frecuencia. Para evitar esto, puede deshabilitar la salida automática de correo electrónico agregando la siguiente cadena a su comando cron:

> / dev / null 2> & 1 e.g a b c d e NOMBRE DE USUARIO / ruta / a / script> / dev / null 2> & 1

Además, cron utiliza cuatro valores más que se utilizan para especificar varios valores en un campo. Ellos son:

Configurar los trabajos cron

Los comandos crontab son responsables de crear y editar trabajos cron porque los archivos cron no deben editarse directamente. El crontab define cómo puede crear, editar, enumerar, depurar, instalar y desinstalar las tareas cron.

Antes de comenzar con los trabajos cron, es esencial asegurarse de que su escritorio o servidor Linux esté actualizado ejecutando los siguientes comandos:

actualización de sudo apt actualización de sudo apt

Si no tiene el paquete cron instalado en su sistema, instálelo con el siguiente comando:

sudo apt-get install cron

Instalar cron

Cómo editar el archivo crontab?

Para completar el proceso, deberá configurar el trabajo cron. El usuario que inició sesión cuando se crea un trabajo cron se convierte automáticamente en el propietario. Eso se puede cambiar creando un propietario del trabajo que se encargará de administrar el trabajo cron, como veremos en esta publicación.

Para abrir el archivo de configuración crontab para el usuario actualmente conectado, ejecute el siguiente comando:

crontab -e

El sistema le pedirá que elija un editor adecuado. En nuestro caso, elegiremos la primera opción (editor nano).

crontab -e

Puede agregar una tarea programada por línea según sus preferencias.

archivo crontab

Al agregar las tareas, termine guardando el archivo y salga. Todas las instrucciones proporcionadas serán leídas y ejecutadas por el demonio cron. Los cambios se aplicarán incluso sin reiniciar su sistema, ya que el repositorio se actualiza automáticamente.

Editar crontab para un usuario diferente

Crontab se puede editar para diferentes usuarios usando un comando en la siguiente sintaxis:

crontab -u otro nombre_usuario -e

Cómo usar caracteres especiales en los comandos crontab

Los personajes y los operadores dictan una mayor personalización de su sistema a medida que amplían las capacidades de una tarea cron.

0 6 * * 1-5 / root / backup.sh

Aquí, 06 representa las 6 a. M. 1-5 representa el número de días (de lunes a viernes).

35 1-23 / 2 * * * / ruta / a / script / script.sh

1-23 especifica el rango de horas, / 2 establece el intervalo a cada dos horas.

Opciones de cron

Es posible que desee enumerar los trabajos cron en su sistema sin desbloquear el archivo de configuración crontab. Esto se puede hacer iniciando su terminal y escribiendo el siguiente comando:

crontab -l

enumerar trabajos cron

Ese comando enumera todos los trabajos cron presentes en su sistema.

Para eliminar todos los comandos crontab, puede utilizar el siguiente comando:

crontab -r
crontab -r -u otro-nombre de usuario

Usar cadenas en Crontab

Las cadenas son herramientas inmensamente útiles para los desarrolladores, ya que evitan la escritura repetitiva de segmentos de código. Afortunadamente, los crontabs admiten varios valores de cadenas. Incluyen:

@cada hora: -igual que - "0 * * * *" (Se ejecuta una vez cada hora)
@doce de la noche:  -igual que - "0 0 * * *" (Se ejecuta una vez cada día)
@diario: igual que la medianoche
@semanal:  -igual que - "0 0 * * 0" (Se ejecuta una vez cada semana)
@mensual: -igual que - "0 0 1 * *" (Se ejecuta una vez cada mes)
@anualmente: -igual que - "0 0 1 1 *" (Se ejecuta una vez cada año)
@anual: similar a @anualmente
@reiniciar: Ejecutado una vez después de cada reinicio / reinicio / inicio.

Un buen ejemplo; Si tiene un script de respaldo que desea ejecutar todos los días, use el siguiente comando:

@diaria / ruta / a / script_de_seguridad.sh

Ejemplos de trabajos cron

Aquí hay una lista de trabajos cron básicos que se pueden usar al comenzar:

    1. Para ejecutar un script cada minuto:
      * * * * * / su / script / ruta.sh
    2. Para ejecutar un script cada 40 minutos:
      40 * * * * / su / script / ruta.sh
    3. Para ejecutar un script cada hora:
      0 * * * * / su / script / ruta.sh
    4. Para ejecutar un script cada medianoche:
      0 0 * * * / su / script / ruta.sh
    5. Para ejecutar una secuencia de comandos cada 23 minutos después de la medianoche, las 2 a. M. Y las 4 a. M. Todos los días:
      23 0-23 / 2 * * * / su / script / ruta.sh
    6. Para ejecutar un script en 4.05 todos los domingos.
      5 4 * * sol / su / script / ruta.sh
    7. Para ejecutar un script a las 10 pm durante la semana.
      0 22 * ​​* 1-5 / su / script / ruta.sh
    8. Para ejecutar una secuencia de comandos del 1 de diciembre a medianoche.
      0 0 0 12 * / su / script / ruta.sh
    9. Para ejecutar un script el sábado a la medianoche.
      0 0 * * 6 / su / script / ruta.sh
    10. Para ejecutar un script cada hora.
      0 * * * * / su / script / ruta.sh

Con estos ejemplos básicos, obtendrá una comprensión más profunda de la secuencia y cómo se puede modificar.

Limitar el acceso de Cron

Vemos que los trabajos cron pueden ser muy útiles, especialmente cuando desea automatizar sus tareas. Sin embargo, también puede ser arriesgado si el sistema permite que cualquier usuario cree un trabajo cron. Incluso si no afecta a los datos personales, algunos trabajos cron pueden requerir una cantidad considerable de recursos del sistema, lo que retrasa la PC. Para evitar tales escenarios, el administrador del sistema (usuario root) puede crear un / etc / cron.permitir  o / etc / cron.negar el archivo que contiene solo usuarios que pueden 'crear / no crear' un trabajo cron.

La / etc / cron.permitir el archivo contiene usuarios que pueden crear, editar, mostrar o eliminar archivos crontab. Si este archivo no existe, todos los usuarios pueden crear y administrar trabajos cron distintos a los de la / etc / cron.negar expediente. Si ninguno de estos archivos está presente, se requieren privilegios de superusuario para ejecutar el comando crontab.

cron permitir archivo

Ahora que ha impedido que los usuarios no root creen trabajos cron si ya tenían alguno, podría considerar agregar sus trabajos cron en el archivo crontab raíz. Pero aquí hay un acertijo: al agregar sus trabajos cron al crontab raíz, ¿no ejecuta eso sus trabajos cron como root?? Bueno, aquí viene la importancia del campo NOMBRE DE USUARIO que discutimos anteriormente en la sintaxis del comando cron. Por ejemplo, el siguiente comando:

0 * * * * fosslinux / ruta / a / script.sh

Se ejecutará como trabajo cron de usuario "fosslinux" y no como usuario root.

Conclusión

Ahora tiene una guía clara sobre el uso de trabajos Cron para automatizar varias tareas en su sistema. Eso no debería confundirte con las aplicaciones de inicio. Utilice los ejemplos anteriores para intentar automatizar scripts simples. Con el tiempo, puede combinar caracteres especiales y comodines para realizar tareas mucho más mundanas. Si recién está comenzando, sería genial leer nuestra publicación sobre el tutorial de scripting de bash con ejemplos que lo ayudarán a crear su primer script.

Trackpad en pantalla y puntero del mouse AppyMouse para tabletas Windows
Los usuarios de tabletas a menudo pierden el puntero del mouse, especialmente cuando son habituales para usar las computadoras portátiles. Los teléfon...
El botón central del mouse no funciona en Windows 10
La botón central del ratón le ayuda a desplazarse por páginas web largas y pantallas con una gran cantidad de datos. Si eso se detiene, bueno, termina...
Cómo cambiar los botones izquierdo y derecho del mouse en una PC con Windows 10
Es una norma que todos los dispositivos de mouse de computadora estén diseñados ergonómicamente para usuarios diestros. Pero hay dispositivos de mouse...