Creando un Cron Job personalizado en Linux
Creando un Cron Job personalizado en Linux
Automatizar tareas rutinarias es esencial en cualquier sólido administración del sistema o flujo de trabajo de desarrollo web. Cron jobs proporcionan un potente programador de tareas basado en tiempo en sistemas operativos tipo Unix, permitiéndote ejecutar scripts o comandos automáticamente en intervalos programados.
¿Qué es un Cron Job?
Un cron job es una tarea programada definida en el crontab (tabla cron) del sistema que ejecuta comandos o scripts en momentos o intervalos específicos. Cron se usa ampliamente porque es:
Ligero
Altamente personalizable
Integrado en la mayoría de las distribuciones Linux
Casos de uso comunes
Copias de seguridad de bases de datos diarias o semanales
Ejecutar scripts PHP/Python
Rotación de logs y limpieza de archivos temporales
Envío de correos electrónicos programados
Actualizar cachés de datos o sincronizar archivos
Paso 1: Acceder al Crontab
Para editar el crontab de tu usuario (sin acceso root):
Paso 2: Desglose de la sintaxis de Cron
Cada cron job usa el siguiente formato:
Ejemplo: Ejecutar un script todos los días a las 2 AM
Paso 3: Crear un script personalizado
Digamos que quieres ejecutar un script Python personalizado. Primero, crea el archivo:
Script de ejemplo:
#!/usr/bin/env python3
import os
import datetime
log_dir = "/var/log/myapp"
threshold = 7 # days
now = datetime.datetime.now()
for filename in os.listdir(log_dir):
filepath = os.path.join(log_dir, filename)
if os.path.isfile(filepath):
file_age = now - datetime.datetime.fromtimestamp(os.path.getmtime(filepath))
if file_age.days > threshold:
os.remove(filepath)
Haz que el script sea ejecutable:
Paso 4: Añadir el Cron Job
Edita tu crontab y añade:
Esto:
Ejecuta el script diariamente a la 1:00 AM
Registra la salida en /var/log/cleanup.log
Casos de uso de ejemplo
✅ Ejecutar cada 10 minutos
✅ Ejecutar solo los lunes a las 3 AM
Deshabilitar o eliminar un Cron Job
Deshabilita temporalmente una línea comentándola con #.
Para eliminar todos los jobs:
Los cron jobs personalizados son una herramienta poderosa para la automatización, el mantenimiento y la fiabilidad. Ya sea que estés gestionando un VPS personal, desplegando scripts de backend o ejecutando cargas de trabajo en producción, dominar cron te permite controlar cuándo y cómo se ejecutan las tareas — sin esfuerzo.


