Cómo ejecutar múltiples comandos en un Cron Job

27 ott 2022 2 min di lettura
Cómo ejecutar múltiples comandos en un Cron Job
Indice dei contenuti

Introducción

Crontab es una utilidad para ejecutar tareas programadas a intervalos regulares en sistemas Unix-Linux. Nos permite programar múltiples trabajos cron para que se ejecuten al mismo tiempo. Podemos programar cualquier comando de shell o script para que se ejecute en la terminal. Cada CronJob programado en crontab está separado por una nueva fila. También podemos definir varios comandos o scripts en un solo trabajo cron para que se ejecuten uno por uno.

Cómo separar dos comandos en Linux

Puede separar dos o más comandos utilizando los operadores punto y coma (;), AND lógico (&&) u OR lógico (||). Cuál de estos operadores usamos depende totalmente de los requisitos. Estos son los conceptos básicos del uso de estos operadores.

Punto y coma (;): se utiliza para separar varios comandos. Esto ejecuta todos los comandos sin verificar el estado de salida de los comandos anteriores:

command_1;  command_2;  command_n

AND lógico (&&): se utiliza para separar los comandos cuando desea ejecutar el siguiente comando solo si el comando anterior se ha ejecutado correctamente con el estado de salida 0:

command_1 &&  command_2 &&  command_n

OR lógico (||): se utiliza para separar los comandos cuando desea ejecutar el siguiente comando solo si el comando anterior falló con un estado de salida diferente a 0:

command_1 ||  command_2 ||  command_n

Cómo programar un trabajo cron

Primero, cambie al usuario desde el que desea ejecutar un trabajo cron. Luego abra el editor crontab ejecutando el siguiente comando:

crontab -e 

Luego agregue un Cron Job al archivo.

Ejecute múltiples comandos en un solo proceso Cron

Analicemos ejemplos de la vida real de la ejecución de múltiples comandos con crontab con varios 2 separados.

Usar punto y coma (;)

Podemos separar dos o más comandos con punto y coma, lo que no requiere verificar el estado de salida del comando anterior. Por ejemplo, debe cambiar el permiso de todos los archivos a 777 pero debe configurar 777 para el directorio de registros:

0 2 * * *   chmod -R 755 /var/www/myapp; chmod -R 777 /var/www/myapp/logs

Usando AND lógico (&&)

Use este operador, donde desea ejecutar el siguiente comando solo si el anterior es exitoso (estado de salida 0). Por ejemplo, desea ejecutar backup.sh después de cambiar con éxito al directorio / backup:

0 2 * * *   cd /backup && bash backup.sh

Usar OR lógico (||)

Utilice el operador lógico OR (||) cuando desee ejecutar el siguiente comando solo si el anterior ha fallado (estado de salida distinto de 0). Por ejemplo, desea mostrar un mensaje o enviar un correo electrónico si no se encontró el archivo de copia de seguridad:

0 2 * * *  [ -f /backup/mydb-`date +%F`.sql ] || echo "Today's backup file not found" 

Conclusión

En esta publicación de blog, aprendió cómo ejecutar varios comandos en una sola entrada de Cron Job. También discutimos varias opciones para separar los comandos. El artículo proporciona detalles básicos sobre cada separador que se usa para separar los comandos.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.