Sistemas Operativos>Linux, Tutoriales

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

06/2022
🕒 5 mins

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 utilizas 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 tienes un VPS, puedes 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 buscas editar un archivo crontab del usuario actual, escribe el siguiente comando en la computadora: crontab -e

Te aparecerá como resultado:

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

  • Si quieres editar el crontab de otro usuario hay que escribir crontab “-u nombredeusuario –e”. 

Recuerda que sólo puedes realizar esto como super usuario, lo que significa que tienes que escribir “sudo su” antes del comando.

  • Si quieres 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 quieres presentar el contenido del archivo crontab en el que te encuentras 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 tienes ninguno, verás este resultado:

crontab -l resultado cron job

También, si precisas ver las listas de archivos crontab de otros usuarios, es necesario escribir “crontab -u nombredeusuario –1” como super usuario.

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 quieres 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.

También puedes leer: “5 herramientas para optimización tu sitio web”

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, cada uno de ellos 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 quieres 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 tienes 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.
  • Guion (-): 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.
Compartir:
Noticias relacionadas
Más sobre Sistemas Operativos>Linux, Tutoriales