Saltar al contenido
InternetPasoaPaso

¿Cómo programar tareas en Linux utilizando el comando Cron? Guía paso a paso

¿Cómo programar tareas en Linux utilizando el comando Cron?
Meneame

La programación y la automatización son aspectos fundamentales para lo que es la administración de los sistemas informáticos, es por ello que poder programar tareas en tu sistema de Linux es muy importante para mejorar aún más su funcionamiento. Para ello existen algunos comandos que te permitirán hacerlo de una forma muy sencilla y rápida.

Es así como aquí te vamos a enseñar un poco más sobre lo que es el comando Cron, el cual es considerado como una de las mejores herramientas de programación de tareas basado en el tiempo y que se encuentra disponible para los sistemas operativos similares a Unix, así como para algunas de las distribuciones de Linux.

Por lo tanto, al momento de querer realizar este tipo de actividades es muy importante recurrir a este tipo de herramientas, las cuales se ejecutan en segundo plano y de forma automática, lo que hace que su funcionamiento de automatización de tareas sea mucho más efectivo. De acuerdo con todo esto, aquí te vamos a enseñar un poco más sobre como programar tareas en Linux a través del comando Cron, para ello sigue detalladamente todo lo que te enseñaremos a continuación.


¿Qué debo tener en cuenta antes de programar un proceso en Linux?

¿Qué debo tener en cuenta antes de programar un proceso en Linux?

Los procesos de programación no son tan sencillos como muchos pueden pensarlo, para ello se necesita tener un poco de conocimiento informático que te ayudará a que dicho proceso sea mucho más sencillo de asimilar y realizar. En el caso de Linux cuenta con la herramienta Cron la cual permite llevar a cabo programaciones y automatizaciones de tarea en el sistema operativo.

Este tipo de herramientas son muy importantes, por lo cual hay que saber aprovecharlas, las mismas te permitirán ejecutar de forma automática cada cierto tiempo un script o un archivo PHP, o cualquier otro elemento informático que quieras. Esto evitará que tengas que acceder tantas veces sea necesario al día para poder activarlo manualmente, por lo que no tendría mucho sentido.

Hay que tener presente que cuando se realizan estos tipos de programaciones en Linux te permiten desarrollar y facilitar ciertos tipos de tareas como lo son las siguientes:

  • Configurar tareas de actualizaciones automáticamente.
  • Configurar una copia de seguridad automática.
  • Realizar unas tareas programadas en un servidor de Linux.
  • Configurar una tarea que envíe un mailing de forma que esto no se tenga que hacer de manera manual, sino que sea de manera automática.
Recomendado para ti:
¿Cómo forzar la salida o cierre de una aplicación en el ordenador Mac OS fácil y rápido? Guía paso a paso

¿Cuáles son los comandos más recomendables para programar tareas en Linux?

¿Cuáles son los comandos más recomendables para programar tareas en Linux?

En el caso del sistema operativo de Linux se pueden encontrar dos comandos muy recomendados para lo que es la programación de tareas en el SO, estos se trata del ya mencionado Cron y de Crontab. Para muchas ambas herramientas pueden parecer una sola, y es que son muy similares en cuanto a su funcionamiento, por lo que se podrían considerar como dos elementos dependientes uno del otro.

Sin embargo, para que todo esto quede mucho más claro, aquí te vamos a enseñar en que consiste cada uno de estos comandos de Linux disponibles para llevar a cabo lo que es la programación de tareas dentro del sistema:

Comando Cron

Esta herramienta es considerada como un demonio al momento de programar tareas en Linux, el mismo suele actuar en segundo plano por lo que se ejecuta en el mismo instante en el que se inicia el sistema operativo. Este comienza a comprobar si existe alguna tarea que deba ser ejecutada de acuerdo a la hora que se le ha configurado en el sistema.

Como estas tareas van de la mano con la hora, pues las mismas deben ser programas para que se ejecuten de forma automática cada cierta horas, entonces es fundamental que la zona horaria del equipo se encuentre muy bien configurada, de lo contrario las ejecuciones de Cron pueden terminar desarrollándose en las horas que no sean las correctas, ya que el horario del equipo no va a coincidir con lo ajustado en la realidad.

Por lo general, esta función suele iniciarse  utilizando las carpetas /etc/rc.d/ o /etc/int.d donde cada 60 segundos se encarga de comprobar los ficheros /etc/crontab o /var/spool/cron, todo esto se realiza buscando posibles ejecuciones de tareas pendientes.

Comando Crontab

Crontab es considerado como un archivo de texto, por más sencillo que parezca esta es la principal definición de este comando. Pero lo cierto de todo esto es que Crontab se trata de un archivo que contiene información especial, en él se pueden hallar una lista con todos los scripts que se tengan que ejecutar.

Recomendado para ti:
¿Cuáles son las mejores aplicaciones para aprender a programar desde tu móvil? Lista [year]

Por lo general, cada uno de los usuarios de SO tiene un fichero Crontab propio, por lo que se considera que el ubicado en la carpeta etc pertenece al usuario root. Para que se pueda crear un archivo propio, será necesario que el usuario tenga que hacer uso del comando Crontab, por lo que se llama de la misma manera.

Aprende paso a paso cómo programar procesos repetitivos en Linux con cron

Teniendo completamente claro lo que es la programaciones de procesos repetitivos en Linux, y conociendo los dos principales comando que permiten llevar a cabo estos procesos, lo siguiente será enseñarte paso a paso como puedes programar tareas en el SO.

Para ello sigue detalladamente todo lo que te enseñaremos a continuación:

Programar tareas en Linux con Cron

Para poder iniciar este procedimiento a través del comando Cron lo primero que debes hacer es ejecutar el siguiente comando según el usuario que se quiera modificar.

Veamos a continuación:

  • Para cambiar los cron del usuario al que estás conectado: “crontab –e” estos códigos se deben insertar sin las comillas (“”).
  • Modificar los cron de un usuario en específico: “crontab –eu usuario”.


"ACTUALIZADO ✅ ¿Quieres programar ciertos procesos repetitivos del sistema operativo Linux? ⭐ ENTRA AQUÍ ⭐ y Aprende Cómo ¡DESDE CERO!"


Cuando se haya agregado cualquiera de los dos códigos ya mencionados, lo siguiente será rellenarlos, para ello se debe colocar los primeros cinco números, donde se deben especificar aspectos como el día, la hora, los días de la semana, entre otros.

Para ello debes hacerlo de la siguiente manera:

  • En este caso el primer número indicará el minuto.
  • El segundo número te indicará la hora.
  • El tercer número será el día.
  • El cuarto número será el mes.
  • Y finalmente el quinto día indicará el día de la semana.

De esta manera, debes rellenarlo según sean tus necesidades.

Para que puedas entender un poco mejor, aquí te explicamos qué significa cada uno de los números:

  • 0 domingo
  • 1 lunes
  • 2 martes
  • 3 miércoles
  • 4 jueves
  • 5 viernes
  • 6 sábado

Después de agregar cada uno de los números debes separarlo con un espacio. Después que hayas configurado todo esto a tus gustos y necesidades, lo siguiente será seleccionar el script que se quiere ejecutar.

Para que se pueda entender todo esto de una mejor manera, aquí te dejamos algunos ejemplos de configuración scripts con Cron:

  • 02 * * * script_a_ejecutar.pl
  • De acuerdo al comando mencionado se quiere decir que en el minuto 0, a las 2, todos los días del mes, todos los meses, todos los días de la semana, se quiere ejecutar dicho script.
Recomendado para ti:
¿Cómo hacer llamadas nacionales e internacionales gratis desde tu smartphone iPhone? Guía paso a paso

Si lo que se quiere es ejecutar un .PHP, entonces lo que se debe es configurar los días y hora de la ejecución, para después poder indicar la ruta de instalación del PHP y junto con el espacio el PHP que se debe ejecutar.

Para este caso se debe colocar el siguiente comando:

  • 0 0 * 12,1 * /usr/bin/php /ruta/del/fichero/fichero.php
  • Por lo tanto, el comando anterior indicará lo siguiente: en el minuto 0, a la 0 horas, todos los días, durante los meses 12 y 1, todos los días de la semana se quiere ejecutar el siguiente .PHP

En el caso que lo desees también lo puedes colocar de la siguiente manera para que se ejecute cada x horas o minuto según sea el caso.

Para ello puedes colocarlo de la siguiente manera:

  • 0 */3 * * * ejecutar.pl (esto se ejecutaría cada 3 horas)
  • */90 * * * * ejecutar.pl (esto se ejecuta cada 1 hora 30 minutos con el */90 (90 minutos = 1:30))

De esta manera puedes comenzar a configurar el comando cron para llevar a cabo el proceso de programación de tareas en el sistema de Linux, una forma fácil de realizar procesos repetitivos de forma automática sin la necesidad que los desarrolle de manera manual.

Agregar tareas al comando Crontab

Tal cual como ya se mencionó anteriormente en el post, Crontab es el otro comando más recomendado para llevar a cabo la programación de tareas en este SO, es por ello que aquí te vamos a explicar cómo puedes comenzar a utilizarlo de forma fácil y rápida. Al momento de ejecutar la edición del crontab con crontab –e. en algunas de las distribuciones de Linux como sucede en Ubuntu ofrece la opción de escoger el editor de texto que se desee.

Por lo que el archivo Crontab se podrá ver de la siguiente manera:

  • # m h dom mon dow user command

Donde cada uno de estos valores significa lo siguiente:

  • m: En este caso la letra m corresponde al minuto en el que se ejecutara el script, el valor de esto va desde un rango de 0 a 59.
  • h: Sirve para definir la hora exacta, en este caso se maneja un formato de 24 horas, los valores van desde 0 a 23, siendo 0 las 12:00 de la media noche.
  • dom: Este término hace referencia al día del mes, aquí se puede especificar 15 si se quiere que el script se ejecute cada 15 días.
  • dow: Te permite especificar el día de la semana, este valor puede ir desde 0 y 7, o en tal caso las tres primeras letras del día, pero estas deben ir en inglés.
  • user: Permite definir el usuario con el que se va a ejecutar el comando, este puede ser un root u otro usuario diferente, lo importante aquí es que dicho usuario tenga el permiso para la ejecución del script.
  • Command: Se refiere a la ruta absoluta del script que se quiere ejecutar, un ejemplo de esto es el siguiente: /home/usuarios/scripts/actualizar.sh. si esta ruta corresponde a un script, entonces el mismo se ejecutara correctamente.
Recomendado para ti:
¿Cómo proteger mi cuenta de Google para evitar hackeos? Guía paso a paso

Para que todo esto se pueda comprender de una mejor manera, aquí te dejamos algunos ejemplos de varias tareas programables:

  • 15 22 * * * usuarios /home/usuario/scripts/actualizar.sh
  • En este caso se deberá ejecutar el script a las 10:15 p.m. todos los días.
  • 15 10 * * * usuario /home/usuario/scripts/actualizar.sh
  • Te permite ejecutar un script a las 10:15 a.m. todos los días.
  • 00 10 * * 0 root apt –get –y update usuario root
  • Se usa para ejecutar una actualización todos los domingos a las 10:00 a.m.
  • 30 7 20 11 * usuario /home/usuario/scripts/actualizar.sh
  • Indica que el día 20 de noviembre a las 7:30 p.m. el usuario correrá el script.
  • 30 7 11 11 sun usuario /home/usuario/scripts/pastel_con_velitas.sh
  • Indica que el día 11 de noviembre a las 7:30 a.m. y que sea domingo el usuario festejará su sysadmin.
  • 45 10 * * sun root apt-get –y update
  • En este caso el usuario root ejecuta una actualización todos los domingos a las 10:45 a.m.
  • 01 * * * * usuario /home/usuario/scripts/molestorecordatorio.sh
  • Se trata un molesto recordatorio cada minuto de cada hora todos los días, por lo general no se recomienda utilizar ya que resulta ser muy tedioso.
  • 00 12 1,15,28 * *
  • Te indicará que a las 12 p.m. todos los días primero, quince y 28 de cada mes, es muy utilizado para las nóminas empresariales.
  • 30 17 * * 1,2,3,4,5
  • Esto quiere decir que a las 5:30 p.m. todos los días de lunes a viernes se generará el recordatorio.

Si te quedaste con alguna duda, déjalas en los comentarios, te contestaremos lo antes posible, además seguro que será de gran ayuda para más miembros de la comunidad. Gracias! 😉

Más Trucos y Consejos cada día ¡Apúntate Aquí!


He leído y acepto los términos y condiciones

Compártelo, gracias!

Meneame
Etiquetas: