Utilidades
- Cronicle: Programador de tareas distribuido
- RCloneWeb: Configuración de una interfaz web personalizada para RClone
Cronicle: Programador de tareas distribuido
Introducción
Cronicle es un programador de tareas distribuido diseñado para ejecutar trabajos programados o bajo demanda en múltiples servidores desde un punto central. Combina la simplicidad conceptual de cron con una interfaz web, ejecución distribuida y visibilidad completa sobre el estado de las tareas.
Su enfoque lo convierte en una alternativa moderna a crontab cuando se requiere algo más que programación local: control centralizado, estadísticas en tiempo real, logs accesibles desde la interfaz y la posibilidad de escalar la ejecución a varios nodos.
Cronicle está orientado a entornos pequeños y medianos donde se necesita fiabilidad, claridad operativa y bajo overhead, sin introducir complejidad innecesaria.
Requisitos previos
Antes de instalar Cronicle, deben cumplirse los siguientes requisitos:
-
Sistema operativo compatible
- Linux (Ubuntu, Debian, CentOS) o macOS
- Arquitectura POSIX (no compatible con Windows nativo)
-
Node.js (LTS)
Cronicle está desarrollado en Node.js y requiere una versión LTS estable.
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs -
Permisos de administrador
- Es necesario disponer de permisos de
rooto sudo para la instalación y gestión del servicio.
- Es necesario disponer de permisos de
Guía de instalación
Instalación automática
Cronicle proporciona un instalador automático que descarga la última versión estable e instala el servicio junto con sus dependencias.
curl -s https://raw.githubusercontent.com/jhuckaby/Cronicle/master/bin/install.js | node
El proceso instala Cronicle en:
/opt/cronicle/
Estructura general tras la instalación:
bin/— scripts de control y mantenimientoconf/— configuración principaldata/— definición de tareas, logs y estado
Configuración inicial
Accede al directorio de instalación:
cd /opt/cronicle
Ejecuta el asistente de configuración:
./bin/control.sh setup
Este proceso permite:
- Definir puertos de escucha
- Configurar hostname y entorno
- Inicializar la base de datos interna
La configuración resultante se almacena principalmente en:
/opt/cronicle/conf/config.json
Arranque del servicio
Una vez completada la configuración inicial, inicia el servicio:
./bin/control.sh start
Puedes verificar su estado en cualquier momento con:
./bin/control.sh status
Acceso a la interfaz web
Cronicle expone una interfaz web para la gestión completa del sistema.
-
URL por defecto:
http://<IP_SERVIDOR>:3012 -
Credenciales iniciales:
- Usuario:
admin - Contraseña:
admin
- Usuario:
Se recomienda cambiar la contraseña del usuario administrador tras el primer acceso.
Gestión y administración
Todos los comandos de administración deben ejecutarse desde el directorio de instalación:
cd /opt/cronicle
Comandos habituales:
-
Estado del servicio
./bin/control.sh status -
Detener el servicio
./bin/control.sh stop -
Reiniciar el servicio
./bin/control.sh restart -
Actualizar Cronicle
sudo ./bin/control.sh upgrade
Las actualizaciones conservan la configuración y los datos existentes.
Características principales
-
Ejecución distribuida
Permite ejecutar tareas en múltiples servidores gestionados desde una única interfaz.
-
Interfaz web
Gestión visual de tareas, calendarios, ejecuciones y errores.
-
Logs centralizados
Acceso inmediato a la salida estándar y errores de cada ejecución.
-
Ejecución bajo demanda
Además de tareas programadas, los jobs pueden lanzarse manualmente desde la UI.
-
Bajo overhead
Arquitectura ligera, adecuada para entornos donde no se justifica una plataforma de CI/CD completa.
Limitaciones conocidas
- No incorpora workflows complejos ni dependencias avanzadas entre tareas
- No incluye monitorización de sistema nativa
- En entornos muy grandes puede quedarse corto frente a soluciones más completas
Estas limitaciones son precisamente lo que mantiene a Cronicle como una solución simple, estable y predecible.
Recursos adicionales
RCloneWeb: Configuración de una interfaz web personalizada para RClone
Introducción
RClone incluye una interfaz web propia, pero puede ser algo limitada en funcionalidades y diseño. Si buscas una alternativa más completa y amigable, puedes usar rclone-webui-angular, una interfaz web desarrollada por la comunidad que mejora notablemente la experiencia de gestión.
Características principales
- Diseño más intuitivo y pulido que la interfaz predeterminada.
- Mayor cantidad de opciones y configuraciones.
- Integración con las funcionalidades principales de Rclone.
- Repositorio oficial disponible en GitHub.
Instalación y configuración
Requisitos previos
- Rclone instalado en tu sistema. Puedes consultar la guía oficial de instalación si no lo tienes.
- Acceso root o permisos sudo para configurar servicios en systemd.
Configuración del servicio systemd
Para gestionar la interfaz web de forma automática, crearemos un archivo de servicio. A continuación, se muestra el contenido del archivo con una explicación detallada:
[Unit]
Description=RClone Web GUI
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone rcd --rc-web-gui --rc-user=usuario --rc-pass=password --rc-serve --rc-addr=192.168.1.3:51535 --rc-web-gui-no-open-browser --rc-web-gui-force-update --rc-web-fetch-url="https://s3.yuudi.dev/rwa/embed/version.json"
Restart=on-failure
RestartSec=10
User=usuario
Group=grupo
[Install]
WantedBy=multi-user.target
Explicación del archivo de servicio
[Unit]
Description: Describe brevemente el servicio.After: Asegura que el servicio se inicie después de que la red esté disponible.
[Service]
Type: Define el tipo de servicio como simple.ExecStart: Comando principal que inicia Rclone en modo demonio (rcd) con las siguientes opciones:--rc-web-gui: Activa la interfaz web.--rc-usery--rc-pass: Credenciales de acceso.--rc-serve: Permite servir archivos directamente desde Rclone.--rc-addr: Dirección y puerto de la interfaz web.--rc-web-gui-no-open-browser: Evita que el navegador se abra automáticamente.--rc-web-gui-force-update: Fuerza la descarga de la última versión de la interfaz.--rc-web-fetch-url: URL para descargar los recursos de la interfaz web personalizada.
Restart: Configura el reinicio automático en caso de fallo tras 10 segundos.UseryGroup: Usuario y grupo bajo los cuales se ejecuta el servicio.
[Install]
WantedBy: Indica que el servicio se habilitará en el nivel de ejecución multi-user.target (al arrancar el sistema).
Pasos para implementar el servicio
-
Crear el archivo de servicio:
sudo nano /etc/systemd/system/rclone-web.serviceCopia el contenido proporcionado anteriormente.
-
Recargar la configuración de systemd:
sudo systemctl daemon-reload -
Habilitar el servicio para inicio automático:
sudo systemctl enable rclone-web -
Iniciar el servicio:
sudo systemctl start rclone-web -
Verificar el estado del servicio:
sudo systemctl status rclone-webSi todo está correcto, deberías ver un estado active (running).
Acceso a la interfaz web
http://192.168.1.3:51535
Usa las credenciales configuradas en los parámetros --rc-user y --rc-pass para iniciar sesión.
Notas adicionales
- Asegúrate de que el puerto configurado (
51535) esté abierto en tu firewall o router si necesitas acceso remoto. - Personaliza la dirección, puerto, usuario y contraseña según tus necesidades.