¿Qué es Cron Job y cómo funciona?

Siempre hay maneras de hacer las cosas de forma más eficaz. Por ejemplo, el manejo de tareas repetitivas usando un proceso automatizado es lo que los webmasters profesionales prefieren, y han adoptado desde el principio. 

Si utilizás un sistema operativo similar a Unix, un Cron Job –o trabajo Cron– podría ahorrarte tiempo al efectuar tareas automáticamente.

Aquí te explicamos cómo aprovechar esta funcionalidad.

Cron Job y sus fundamentos

Es posible crear y editar Cron Jobs usando ciertos métodos distintos. 

En este tutorial te detallamos cómo lograrlo usando el indicador de Shell de Linux (Terminal).

Si tenés un VPS, podés hallar las credenciales de inicio de sesión en la pestaña de administración de VPS y entrar a tu servidor por medio de SSH. 

Estas son algunas operaciones básicas que pueden hacer los Cron Jobs:

. Si buscás editar un archivo crontab del usuario actual, escribí el siguiente comando en la computadora:

crontab -e

Te aparecerá como resultado:

Como el sistema usa el editor vi, podés estudiar los comandos básicos vi para tomar la decisión óptima.

. Si querés editar el crontab de otro usuario, hay que escribir crontab “-u nombredeusuario –e”. 

Recordá que sólo podés realizar esto como superusuario, lo que significa que tenés que escribir “sudo su” antes del comando.

. Si querés quitar el archivo crontab actual del usuario, hay que escribir el siguiente comando:

crontab -r

Esto es igual  que “-r”, sin embargo le da al usuario una opción sí/no antes de quitar el crontab:

crontab -i

. Si querés presentar el contenido del archivo crontab en el que te encontrás conectado en la actualidad, es necesario escribir el siguiente comando en la computadora:

crontab -l

Otra operación te deja observar si hay archivos crontab ya creados. Únicamente hay que escribir “crontab –1”. Si no tenés  ninguno, verás este resultado:

crontab -l resultado cron job

También, si precisás ver las listas de archivos crontab de otros usuarios, es necesario escribir “crontab -u nombredeusuario –1” como superusuario.

cron crontab -u nombre de usuario -l resultado

Junto con conocer las operaciones elementales, además es imprescindible aprender la sintaxis básica.

Principalmente un archivo crontab cuenta con dos partes: el temporizador de programación y el comando. De esta manera se escribe el comando:

* * * * * /bin/sh backup.sh

. ***** /bin/sh backup.sh : se está activando un Cron Job que realiza una copia de seguridad cada 30 segundos.

. 30 18 * * * rm /home/sydtesting/tmp/* : implica que el cron job quita los “archivos tmp” de “/home/sydtesting/tmp/” todos los días a las 18:30 horas.

Los permisos de Cron

Dos archivos tienen un papel fundamental en lo que hace a trabajos Cron:

. /etc/cron.allow: si existe cron.allow, es preciso que contenga el nombre del usuario para que él pueda emplear Cron Jobs.

. /etc/cron.deny: cuando el archivo cron.allow no existe pero el archivo cron.deny sí, para utilizar trabajos Cron el usuario no debe figurar en el archivo cron.deny.

¿Qué es un Cron Job?

Cron es un programa útil para desarrollar tareas rutinarias en un momento posterior. Es decir, un comando que programa una tarea en un momento particular, repetidamente, es un Cron Job.

Si querés programar un trabajo de una sola vez para más adelante, es probable que desees usar otro tipo de comando. Pero para trabajos recurrentes, Cron es la solución acertada.

Por otro lado, Cron es un daemon, lo que significa que funciona en segundo plano para ejecutar trabajos no interactivos. 

En Windows, los procesos en segundo plano son llamados también Servicios.

¿Cómo escribir correctamente la sintaxis de Cron?

Un archivo crontab contiene cinco campos. Y cada campo es representado por un asterisco, para indicar la fecha y la hora de un conjunto de tareas a ejecutarse repetidamente.

. Minuto: indica el minuto de la hora en que se hará el comando, que va de 0 a 59.

. Hora: es la hora en que se realizará el comando, que va de 0 a 23.

. Día del mes: es el día del mes en que querés que se ejecute el comando, que va de 1 a 31.

. Mes: en qué mes se realizará el comando determinado, que va de 1 a 12.

. Día de la semana: en qué día de la semana se desea que se ejecute un comando, que va de 0 a 7.

También tenés que utilizar los caracteres correctos en cada archivo crontab:

. Asterisco (*): para delimitar los parámetros de programación.

. Coma (,): para conservar dos o más tiempos de ejecución de un solo comando.

. Guión (-): para definir el intervalo de tiempo al configurar varios tiempos de ejecución pertenecientes a un solo comando.

. Barra oblicua (/): para crear intervalos de tiempo predefinidos en un rango específico.

. Último (L): para el fin específico de resolver el último día de la semana en un mes determinado. Por ejemplo, 1L significa el último lunes.

. Día de la semana (W): para disponer el día de la semana más cercano de un momento determinado. Por ejemplo, 1W implica que si el 1 de un mes es un sábado, el comando se ejecutará el lunes –el día 3 del mes–.

. Hash (#): para definir el día de la semana, seguido de un número que va de 1 a 5. Por ejemplo, 1#2 significa el segundo lunes.

. Signo de interrogación (?): para dejar en blanco, sin datos.


Elizabeth De Bonis

Elizabeth is a journalist/creative copywriter. For him, writing is about satisfying curiosity, and tech blogs are the best place to meet curious people. He’s also a self-proclaimed info junkie, amateur guitar player, and lover of all things internet.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Ir arriba