Cron y Crontab en Linux: automatiza tareas como un profesional

| Última modificación: 25 de abril de 2025 | Tiempo de Lectura: 4 minutos

Cuando comencé a administrar servidores Linux, una de las primeras herramientas que aprendí a utilizar fue cron, junto con su comando asociado crontab. Estas utilidades me permitieron automatizar tareas repetitivas, como respaldos, actualizaciones y monitoreos, mejorando la eficiencia y reduciendo errores humanos. En este artículo, compartiré contigo cómo funcionan cron y crontab en Linux, su sintaxis, ejemplos prácticos y mejores prácticas basadas en mi experiencia.​

¿Qué son cron y crontab en Linux?

Cron es un demonio en sistemas Unix y Linux que ejecuta tareas programadas en momentos específicos. Estas tareas se definen en archivos llamados crontabs, que especifican cuándo y qué comandos deben ejecutarse. Cada usuario puede tener su propio archivo crontab, y también existen crontabs a nivel del sistema para tareas globales.

cron y crontab en linux

Sintaxis de crontab

La sintaxis de una entrada en crontab consta de cinco campos de tiempo seguidos del comando a ejecutar:

* * * * * comando
- Minuto (0-59)
- Hora (0-23)
- Día del mes (1-31)
- Mes (1-12)
- Día de la semana (0-6, donde 0 es domingo)

Por ejemplo, para ejecutar un script todos los días a las 2:30 AM:​

30 2 * * * /ruta/al/script.sh

Comandos de Cron y Crontab en Linux

Estas herramientas de Cron y Crontab en Linux utilizan una serie de comandos básicos que te enseñarán como utilizar y ver crontab y crons , como por ejemplo:

  • contrab archivo: funciona para reemplazar el archivo contrab con uno nuevo.
  • contrab -e: edita la entrada del archivo contrab.
  • contrab –l: su función es obtener un listado con todas las tareas del archivo.
  • contrab -r: borra el archivo contrab de forma permanente.
  • contrab -c dir: indica dónde se almacenará el archivo. Para utilizar este comando, se requiere de ciertos permisos de ejecución.
  • contrab -u usuarios: funciona para gestionar el contrab de otros usuarios.

Además de estos comandos y otros, como crontab -h, Linux cuenta con una serie de cadenas de texto que vienen preconfiguradas para programar scripts automáticamente, siendo las más comunes:

  • @reboot, el cual ejecuta el script una vez se inicie el equipo.
  • @yearly o @anually, que funciona para ejecutar el script una vez al año.
  • @monthly ejecuta una vez al mes el script, el primer día de cada mes.
  • @weekly, el cual ejecuta el script una vez a la semana.
  • @daily, que funciona para ejecutar una vez al día el script.
  • @midnight, el cual ejecuta el script todas las noches a las 00:00 horas.
  • @hourly ejecuta el script durante el primer minuto de cada hora.

Ejemplos prácticos

  • Ejecutar un script cada lunes a las 3 AM:
0 3 * * 1 /ruta/al/script.sh
  • Ejecutar un comando cada 15 minutos:
*/15 * * * * /ruta/al/comando
  • Ejecutar una tarea al reiniciar el sistema:
@reboot /ruta/al/script.sh

Buenas prácticas

  • Redireccionar la salida de errores: Para evitar que los errores se envíen por correo, redirige la salida estándar y de errores:​
* * * /ruta/al/script.sh > /dev/null 2>&1
  • Usar rutas absolutas: Asegúrate de utilizar rutas completas para comandos y archivos, ya que el entorno de cron es limitado.​
  • Verificar permisos: Confirma que los scripts tengan permisos de ejecución y que el usuario tenga los privilegios necesarios.​

Diferencias entre Cron y Crontab en Linux

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Para entender las diferencias entre Cron y Crontab, creo que lo mejor es que definamos más detalladamente cada uno de ellos para que comprendas sus diferencias y distintos usos.

Cron

Cron (también llamado demonio cron) es un proceso en segundo plano de Linux que es ejecutado una vez se inicia el sistema operativo y que se encarga de comprobar la existencia de algún proceso, tarea o guiones a ejecutar en una hora determinada.

Cron se ejecutará cada minuto comprobando los ficheros

**crontab -e ubuntu
/var/spool/cron o /etc/crontab

Se debe tener en cuenta, que esta herramienta realiza sus funciones de acuerdo a la hora que tenga nuestro sistema operativo, por lo que será necesario asegurarnos de que esta sea la correcta. También es posible agregar comandos o ejecutar el script que realicemos con tareas a Cron, lo cual nos permitirá reducir tiempos y automatizar procesos. Cabe destacar, que las labores que deseamos que se ejecuten, deben ser escritas en un fichero Contrab.

Contrab

Por su lado, entre Cron y Crontab en Linux, Contrab es definido como un archivo de texto donde se almacenan las tareas programadas por Cron. Cada usuario tiene la posibilidad de programar tareas en Linux a través de su fichero Contrab, el cual crea una lista con los scripts a ejecutar por esta herramienta.

Contrab es utilizado también, para el cumplimiento de tareas como manejar copias de seguridad automatizadas, sincronizar archivos, eliminar archivos efímeros o temporales.

Herramientas para Cron

Con el objetivo de automatizar tareas en Linux y evitar errores, se han diseñado ciertas herramientas en línea de formato cron, como por ejemplo:

  1. Easycron: programador de tareas para llamar URL específicas por intervalos de tiempo o momentos determinados. Esta herramienta te permite administra trabajos cron en tu panel de usuario, programar las labores de acuerdo con la fecha y hora de tu sistema, ver registros en ejecución de cada tarea, e incluso recibir avisos vía mail acerca de la ejecución de trabajos cron.
  2. Cron Job Generator: permite programar secuencias de comandos para que se ejecuten en una hora determinada.
  3. Contrab Guru: editor rápido y sencillo para expresiones de programación cron. Brinda alertas instantáneas acerca de posibles errores o inconvenientes que se presenten.

Conclusión sobre crontab y cron en Linux

Dominar cron y crontab en Linux es esencial para automatizar tareas y mantener sistemas eficientes y seguros. Estas herramientas permiten programar tareas de mantenimiento, respaldos y monitoreos sin intervención manual, liberando tiempo y reduciendo errores.​

Si deseas profundizar en la administración de sistemas Linux y adquirir habilidades avanzadas en ciberseguridad, te invitamos a explorar nuestro Curso Intensivo en DevOps y Cloud Computing. A través de una formación práctica y orientada al mundo real, te prepararemos para enfrentar los desafíos actuales en el ámbito de la seguridad informática. ¡Inscríbete ahora y lleva tu carrera al siguiente nivel!​

¡CONVOCATORIA ABIERTA!

Bootcamp devops & cloud computing

Clases en Directo | Acceso a +600 empresas | Empleabilidad de 99,36%

KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.