[ES] – Crontab – Nginx

Introducción – Crontab

En un sistema operativo Unix, un cron es un administrador de procesos en segundo plano que es capaz de ejecutar procesos en distintos intervalos ( minutos, horas, días , semanas y meses ). Los procesos que deben ejecutarse, se especifican en un fichero crontab junto con la hora a la que debe ejecutarse.

Añadir un trabajo cron a la Crontab
Paso 1: Conectar con el servidor remoto

Primero, debemos establecer conexión con el servidor remoto vía SSH. Puede visitar la siguiente entrada para mas información sobre como Acceder a ISPConfig via SSH

Paso 2: Abrir el fichero crontab

Para añadir un trabajo cron, debemos especificar la ruta del script que se ha de ejecutar junto con la fecha o fechas en las que debe ejecutarse. En el terminal,

$ crontab -e

Abrirá un editor de texto como nano para añadir un trabajo cron al fichero.

Puede visitar modificar un archivo via SSH para más información sobre cómo utilizar nano

Paso 3: Especificar la fecha y ruta del script

Debemos seguir un patrón en concreto para añadir un trabajo cron:

minuto hora dia mes semana command

dónde:

  • minuto corresponde al minuto en que se va a ejecutar el script, el valor va de 0 a 59
  • hora la hora exacta, los valores van de 0 a 23.
  • dia hace referencia al día del mes.
  • mes hace referencia a los meses que debe ejecutarse el el script. De 1 a 12.
  • semana significa el día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.
  • command refiere al comando o a la ruta absoluta del script a ejecutar.

Por ejemplo, si queremos añadir un trabajo cron que ejecute el script backup.sh cada lunes a las 6:00 am,

0 6 * * 1 /var/www/sitio/web/backup.sh

Si queremos listar todos los trabajos cron programados en la crontab podemos hacerlo desde terminal como

$ crontab -l

Importante : Si el script no posee permisos de ejecución no podrá ser ejecutado por cron. Puede dárselos así:

$ chmod +x script.sh