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