Cómo hacer un cron
Cron es una utilidad de sistema que sirve para lanzar procesos con una periodicidad determinada, como por ejemplo copias de seguridad u otro tipo de procesos que deben ser lanzados de forma desatendida.
Cuando administramos nuestra web para algo más que para publicar, los Cron son habituales.
Crontab (crontab -e) es un script que lanza nuestro editor de textos (de la máquina a administrar) y abre un fichero donde se almacenan todos los trabajos que se lanzan periódicamente. Este fichero tiene un formato específico que veremos a continuación; una vez editado y salvado, crontab se encarga de integrarlo en el sistema.
Los parámetros de entrada y el formato del comando
- Minutos Horas Dia Mes DiadelaSemana ComandoaEjecutar
- Minutos: Entre 0 y 59
- Horas: Entre 0 y 24
- Dia: Entre 1 y 31
- Mes: Entre 1 y 12
- DiadelaSemana: Entre 0 y 6 (0 es domingo, 6 es Sábado)
- ComandoaEjecutar: La serie de comandos a ejecutar. Si no estuviera en el path, habría q especificarlo
- Usar * como wildcard es válido
Si hablamos de Movable Type uno de los crons por excelencia es el Future Posting. En este post podemos ver cómo forzar la ejecución de Future Posting en Movable Type cada 15 minutos (4 veces por hora), durante todas las horas del dia. Un total de 96 ejecuciones al día. Evidentemente, el tutorial es aplicable para cualquier tipo de ejecución de scripts/tareas en nuestro servidor.
0,15,30,45 * * * * cd pathraizdemovabletype; ./tools/run-periodic-tasks
Aplicándolo a nuestro servidor, con nuestro flamante Putty (cliente SSH), y con los datos de acceso a la máquina por shell (importante que el proveedor de nuestro espacio web nos los facilite; Dreamhost en nuestro caso lo hace):
Primero ejecutamos nuestro cliente SSH y rellenamos los campos correspondientes al servidor a administrar:
Como vemos debajo, la ejecución del comando “crontab -e” en la máquina en la que hemos conectado (por SSH) es la que arrancará el editor bajo dicho entorno (algo similar al archiconocido edit.exe de MS-DOS. Dicho editor por defecto suele ser Nano; con un poco de maña es posible cambiar el editor por defecto). Tal y como vemos en las dos capturas de abajo.
Salvando el fichero en dicho editor nos devolverá a la linea de comandos de nuestra máquina, siendo salvado e instalado automáticamente por el servidor.