Obelisk
ES
Capítulo 40 de 41Capítulo siguiente
Administración y mantenimiento

CLI avanzada: tareas e informes por correo

Utiliza SSH para diagnosticar tareas, pausarlas y reanudarlas con el instalador compatible o ejecutar manualmente un informe semanal o mensual que reúna los requisitos. Los comandos actúan sobre la instalación y sus destinatarios configurados.

Documentación de Obelisk

Identificar instalación y cuenta de ejecución

Los ejemplos usan /var/www/html/obelisk y /usr/bin/php. Sustitúyelos por la ruta y el PHP CLI reales. Accede al PBX por SSH con autorización para sudo y ejecuta una orden cada vez. Los workers y herramientas que cargan la configuración se ejecutan normalmente como asterisk. Las órdenes indicadas con sudo sin -u requieren privilegios administrativos del sistema.

Conserva el instalador extraído original y su estado guardado. Su carpeta es distinta de la aplicación. Antes de reparar identifica el fallo y conserva un respaldo adecuado. No incluyas contraseñas, claves API ni credenciales SQL en argumentos, capturas o registros compartidos.

  1. Entrar en la aplicación

    Las rutas PHP relativas siguientes parten de aquí. Este comando solo cambia el directorio de la sesión.

    Comando
    cd /var/www/html/obelisk

Leer la programación instalada

Una instalación estándar escribe /etc/cron.d/obelisk con seis tipos de tarea, todos como asterisk. Hay siete líneas de ejecución porque audio tiene dos arranques escalonados. La tabla muestra los valores iniciales; las órdenes oficiales de pausa y reanudación conservan horarios y opciones personalizados.

Los horarios Linux siguen la zona horaria de cron del servidor. Los eventos SQL utilizan el programador de la base de datos y la zona horaria registrada en cada evento. El huso del informe define su periodo; cambiarlo no reprograma cron. Consulta el archivo instalado y el panel Eventos de base de datos antes de interpretar un retraso.

  1. Consultar el horario Linux real

    Comando de solo lectura. Las líneas que empiezan por # están inactivas. Conserva este archivo en /etc/cron.d: no lo importes con crontab.

    Comando
    sudo cat /etc/cron.d/obelisk
TareaHorario inicial
loggerCada minuto.
audioCada minuto y un segundo arranque tras 30 segundos. Los bloqueos y requisitos del worker pueden aplazar el procesamiento.
weeklyLunes a las 06:00.
monthlyPrimer día del mes a las 06:00.
cleanerCada día a las 03:30, con --apply; el ajuste de limpieza independiente debe autorizar el borrado.
retentionCada día a las 04:00, con --apply; el ajuste de conservación de audio debe autorizar el borrado.
min_queue / min_out (SQL)Cada uno cada 15 minutos en la base de datos, separados por 7 minutos y 30 segundos en las definiciones distribuidas. No son tareas cron Linux adicionales.

Pausar y reanudar el procesamiento programado

Ejecuta estas órdenes desde el instalador original, después de completar la instalación. Añade las mismas opciones --path y --php si utilizaste rutas personalizadas. La herramienta usa el estado guardado y puede requerir acceso SQL administrativo. Si faltan el kit o el estado, consulta al soporte; no ejecutes una instalación nueva sobre la aplicación activa.

  1. Pausar nuevas ejecuciones

    Desactiva las tareas Linux de Obelisk y sus eventos SQL min_queue/min_out. No interrumpe procesos iniciados: espera a que terminen. Lee el resultado: si falla el acceso SQL, las tareas Linux pueden estar desactivadas sin haber confirmado el estado de los eventos.

    Comando
    sudo bash install.sh --disable-jobs
  2. Reanudar después de verificar

    Reactiva las tareas y solicita activar los eventos SQL. Conserva horarios/opciones existentes y no activa por sí sola los interruptores de borrado de audio. Si activar el programador SQL global iniciaría eventos ajenos, evalúa la pregunta con el administrador SQL. Resuelve avisos y repite la misma orden: activar Linux no confirma el procesamiento SQL.

    Comando
    sudo bash install.sh --activate-jobs
  3. Verificar ambos niveles

    En Administración revisa programación, observaciones recientes y procesamiento SQL. Confirma una nueva ejecución válida tras reanudar. Pausar estas tareas no apaga FreePBX ni impide que un experto lance deliberadamente un worker manualmente.

Elegir informe y periodo correctos

Antes de repetir un informe verifica fechas, zona horaria del PBX/informe, análisis de grabaciones disponibles, Gemini, idioma, remitente SMTP y destinatarios REPORT_EMAIL_TO en Sistema y utilidades. Se genera a partir de análisis guardados; no analiza automáticamente cada audio pendiente.

La zona del informe define los límites del calendario; no reescribe los horarios cron. El programador sigue su horario y zona configurados en el servidor. Revisa ambos y comprueba las fechas reales en la vista previa.

Herramienta / operaciónFinalidad, efectos y límites
weeklySemana completa anterior de lunes a domingo, calculada al ejecutar según la zona horaria configurada. Si se ejecuta la próxima semana, selecciona otra semana.
monthlyMes natural completo anterior. No son los últimos 30 días móviles.
monthly --testÚltimos 30 días naturales incluido hoy. Sin --dry-run solicita IA y envía correo a los destinatarios reales. No es una prueba aislada de SMTP.
Diario o periodo pasado arbitrarioNo existe worker de correo diario ni opción CLI de fechas libres. Usa la selección de fechas de Calidad e IA para revisar a petición o acuerda otro flujo de correo con soporte. No renombres scripts ni cambies el reloj del servidor.

Comprobar requisitos sin IA ni correo

Usa la entrada directa para ver mensajes en el terminal además del registro configurado. Estos scripts pasan por el mismo ejecutor oficial. Elige la orden semanal o mensual correspondiente.

  1. Comprobar el semanal

    Lee periodo, zona, summaries, minimum_summaries, cobertura y eligible. Fechas desconocidas o análisis incompletos pueden reducir la muestra utilizable.

    Comando
    sudo -u asterisk /usr/bin/php cron_weekly_trends.php --dry-run
  2. Comprobar el mensual

    Lee valid_calls, minimum_calls y eligible. El mínimo mensual es de 10 llamadas utilizables. La salida identifica el periodo real; no lo deduzcas solo de la fecha del comando.

    Comando
    sudo -u asterisk /usr/bin/php cron_monthly_report.php --dry-run

Ejecutar una vez y verificar el envío

Tras resolver la causa y comprobar que no se entregó ya el informe, elige una de las órdenes siguientes. La ejecución consume la cuota Gemini que corresponda y envía a destinatarios reales. No modifica el cron instalado.

  1. Generar el semanal

    Espera y lee el resultado final IA/SMTP. Un salto por configuración, datos insuficientes o bloqueo de otro proceso no es un envío.

    Comando
    sudo -u asterisk /usr/bin/php cron_weekly_trends.php
  2. Generar el mensual

    Úsalo para el mes natural anterior. No añadas --test solo por estar diagnosticando: cambia el periodo y sigue enviando correo.

    Comando
    sudo -u asterisk /usr/bin/php cron_monthly_report.php
  3. Verificar el resultado final

    Comprueba inmediatamente el código de salida y después registro, observación en Administración y buzón. Código 0 también puede indicar un salto intencionado. Éxito SMTP confirma aceptación del servidor, no llegada a la bandeja. Revisa spam, cuarentena o trazas del correo.

    Comando
    echo $?

Localizar registros y distinguir resultados

El ejecutor resuelve las rutas desde la configuración; no presupongas una carpeta logs fija. --log-path devuelve la ruta del trabajo sin iniciarlo. Sustituye weekly por monthly, audio, logger, cleaner o retention. Consulta ese archivo con tu visor autorizado y oculta destinatarios y detalles de infraestructura antes de compartir.

  1. Localizar el registro semanal

    La salida es una ruta, no el resultado de generación.

    Comando
    sudo -u asterisk /usr/bin/php cron_run.php --log-path weekly
Herramienta / operaciónFinalidad, efectos y límites
audio / loggeraudio procesa análisis y puede llamar a Gemini; logger recoge datos live/históricos y puede enviar alertas pendientes. Ninguno es un informe diario. No los ejecutes como pruebas sin efectos.
weekly / monthlyWorkers IA/correo descritos arriba. Requieren datos, configuración válida y licencia. Hay protección de concurrencia, no deduplicación garantizada entre ejecuciones sucesivas.
cleaner / retentionBorrado de grabaciones por categorías o antigüedad. Sin argumentos o con --dry-run muestra candidatos; --apply exige además la política de borrado activada. No reparan informes SQL.

Solicita tu demo

La experiencia completa de Obelisk. Háblanos de tu contact center.

Cargando el formulario…