Automatización
Las IP dinámicas cambian sin avisar, así que conviene ejecutar el actualizador periódicamente. Cuando no hay cambios termina enseguida (una lectura paginada de la API, ninguna escritura), y el lock evita ejecuciones solapadas.
Linux / macOS: cron
Sección titulada «Linux / macOS: cron»Programa el actualizador con cron:
crontab -e# Cada 5 minutos, en silencio*/5 * * * * /opt/Cloudflare-DNS-Updater/cloudflare-dns-updater.sh --silentUsa la ruta absoluta al lanzador (o al binario). --silent ya suprime la salida; los errores se siguen imprimiendo y llegan al correo de cron si está configurado.
Linux: timer de systemd
Sección titulada «Linux: timer de systemd»¿Prefieres un timer de systemd? Crea la unidad de servicio en /etc/systemd/system/cf-updater.service:
[Unit]Description=Cloudflare DNS UpdaterAfter=network-online.targetWants=network-online.target
[Service]Type=oneshotExecStart=/opt/Cloudflare-DNS-Updater/cloudflare-dns-updater.sh --silent/etc/systemd/system/cf-updater.timer:
[Unit]Description=Ejecutar Cloudflare DNS Updater cada 5 minutos
[Timer]OnBootSec=2minOnUnitActiveSec=5min
[Install]WantedBy=timers.targetsudo systemctl daemon-reloadsudo systemctl enable --now cf-updater.timersystemctl list-timers cf-updater.timerWindows: Programador de tareas
Sección titulada «Windows: Programador de tareas»No hay binario para Windows, así que esto ejecuta el programa desde el código fuente con Git Bash (mira Instalación). Con WSL, usa cron dentro de la distribución de WSL.
- Abre el Programador de tareas → Crear tarea básica.
- Ponle un nombre, p. ej. “Cloudflare DNS Updater”.
- Desencadenador: Diariamente; después, en las propiedades de la tarea, marca Repetir la tarea cada 5 minutos con duración Indefinidamente.
- Acción: Iniciar un programa → Programa o script:
C:\Program Files\Git\bin\bash.exe - Argumentos:
-c "/c/ruta/a/Cloudflare-DNS-Updater/cloudflare-dns-updater.sh --silent"(Git Bash usa/c/...paraC:\...). - En la configuración de la tarea, marca Ejecutar tanto si el usuario inició sesión como si no si quieres que corra sin sesión abierta.
Elegir el intervalo
Sección titulada «Elegir el intervalo»Cada ejecución sin cambios cuesta una petición de lectura a la API de Cloudflare. El límite global de la API (1200 peticiones por 5 minutos y usuario) deja un margen enorme incluso ejecutando cada minuto; cada 5 minutos es un valor cómodo para conexiones domésticas.
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»¿Con qué frecuencia debe ejecutarse?
Sección titulada «¿Con qué frecuencia debe ejecutarse?»Cada 5 minutos es un valor cómodo para conexiones domésticas. El límite de Cloudflare de 1200 peticiones por 5 minutos deja un margen amplio incluso ejecutando cada minuto.
¿Las ejecuciones solapadas causan problemas?
Sección titulada «¿Las ejecuciones solapadas causan problemas?»No. Un lockfile hace que una segunda invocación salga de inmediato, así que los intervalos agresivos son seguros. El lock es por fichero de configuración, así que dos programaciones con configuraciones distintas (por ejemplo, zonas distintas) nunca se bloquean entre sí.
¿Cómo compruebo que funciona?
Sección titulada «¿Cómo compruebo que funciona?»Ejecútalo una vez con --debug para ver la detección de IP y las llamadas a la API. Al ejecutar desde el código fuente, la misma salida se escribe también en logs/updater.log dentro del directorio del proyecto.
¿Una ejecución cuesta una petición a la API cuando no hay cambios?
Sección titulada «¿Una ejecución cuesta una petición a la API cuando no hay cambios?»Sí, una petición de lectura por ejecución. Solo escribe en la API cuando la IP ha cambiado realmente (o cuando pasas --force).