Tareas programadas en Linux (Cron)

Las tareas programadas en Linux pueden ayudarte y facilitarte a la hora de realizar muchas acciones como:

  • Realizar unas tareas programadas en un servidor Linux
  • Configurar unas tareas de actualización automáticamente
  • Configurar una tarea que envíe un mailing sin necesidad de tener que hacerlo manualmente
  • Configurar una copia de seguridad automática

En este artículo te explicamos como puedes programar estas tareas programadas y muchas mas, a través de un cron.

Programar tareas programadas en Linux con CRON

Para comenzar a editar un cron, lo primero que deberemos de hacer es ejecutar el siguiente comando según el usuario que queremos modificar.

Para modificar los cron del usuario al que estás conectado:

crontab -e

Para modificar los cron de un usuario específico:

crontab -eu usuario

Una vez escrito, debemos de rellenarlo de la siguiente manera:

Tenemos que poner primero los 5 números, en el cual declararemos aspectos como: la hora, el día o los días de la semana.

  1. El primer número, será el minuto.
  2. El segundo número, sera la hora.
  3. El tercer número, será el día.
  4. El cuarto número, será mes.
  5. El quinto número, será el día de la semana.

       0 Domingo – 1 Lunes – 2 Martes – 3 Miércoles – 4 Jueves – 5 Viernes – 6 Sábado – 7 Domingo

*Después de cada número, hay que separarlos con un espacio » »

Una vez configurado a nuestro gusto, tendremos que seleccionar el script a ejecutar.

Ejemplos configuración script con CRON

0 2 * * * script_a_ejecutar.pl

Este comando, 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, quiero ejecutar el script.

En caso de por ejemplo, querer ejecutar un .PHP por ejemplo, deberemos de configurar los días y hora de la ejecución, y después, indicarle la ruta de instalación del PHP y junto con un espacio, el .PHP a ejecutar.

0 0 * 12,1 * /usr/bin/php /ruta/del/fichero/fichero.php

Esto quiere decir, que: En el minuto 0, a las 0 horas, todos los días, durante los meses 12 y 1, todos los días de la semana quiero ejecutar el siguiente .PHP

También, puedes poner para que se ejecute cada x horas ó minutos.

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))

Si después de esta explicación sobre como configurar un cron sigues teniendo dudas o necesitas alguna aclaración, no dudes en ponerte en contacto con nosotros.

Comparte este tutorial:

Comentarios (10)

Diego Melús

Diego Melús

Hola Fredy,

Justo después de indicar cada cuanto tiempo se tiene que ejecutar hay que indicarle lo siguiente, en este caso se va a descargar el archivo todos los días a las 2:
0 2 * * * wget http://dominio . tld/fichero

En este caso hay que tener cuidado ya que el directorio del usuario se te va a llenar todo el rato.

En caso de que sea solo para hacer una llamada a una URL:
0 2 * * * /usr/bin/wget -q -O /dev/null http://dominio . tld/
Indicando la URL completa

¡Gracias por tu comentario!

fredy

fredy

yo deseo hacer una tarea que me permita descargar un archivo desde un link de una pagina web, como lo aria? ayuda

Soporte nerion

Soporte nerion

Hola Raul,

¡Te agradecemos mucho tu comentario y tu aportación!

Te invitamos a seguir leyendo artículos de nuestra base de soporte y ayuda por si te pueden servir de ayuda. Y conocer alguno de nuestros productos de dominios, hosting, cloud, correo o seguridad.

Un saludo,

RPF

RPF

Hola:

Me ha gustado mucho el artículo, enhorabuena 🙂 . Yo publiqué un artículo en mi blog para aprender a usar Cron/Crontab con algunos ejemplos. Dejo la URL por si es útil para otros visitantes.

https://www.raulprietofernandez.net/blog/gnu-linux/como-programar-tareas-en-gnu-linux

Saludos! 😀

Soporte nerion

Soporte nerion

Hola Miguel,

En el fichero crontab tiene que poner: */5 * * * * find . -type f -name “miguel.php” -delete {} \;

Muchas gracias por tu comentario!

miguel bernardo

miguel bernardo

Buenas tengo el siguiente cron en cpanel para borrar un archivo cada 5 minutos pero se ejecuta una sola vez , puedes ayudarme
find . -type f -name “miguel.php” -delete {} \;

Soporte nerion

Soporte nerion

Hola René,

Muchas gracias por tu comentario, esperamos ayudarte en más ocasiones con otros artículos 🙂

René

René

Hola, gracias por el contenido!

nerion networks

nerion networks

Hola Byron,

En ese caso puedes hacerlo con dos cron, uno para hacer el copiado de la información y el otro para hacer el borrado pasado el tiempo deseado.

Nosotros te recomendamos que los logs que almacenes los comprimas, para así no ocupar tanto espacio.

Esperamos puedas solventarlo de la mejor manera posible.

Un saludo!

Byron

Byron

hola deseo me ayudes, tengo un directorio en el que se almacena informacion cada hora de los eventos del sistema, esta informacion debe copiarla a otro directorio todos los dias a las 12am, y mantener esta informacion en este nuevo directorio solo 4 meses, con el fin de que este directorio no almacene informacion mas de 4 meses. Similar a una fifo, el primero en almacenarse el primero al borrarse a los 4 meses.
Les agradeceria su ayuda

Envíanos tu comentario: