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

CLI avanzada: recuperación y catálogo de herramientas

Elige la herramienta según el fallo identificado. Empieza con diagnóstico o vista previa, entiende su alcance y sigue la recuperación documentada. La existencia de un PHP no lo convierte en mantenimiento rutinario.

Documentación de Obelisk

Empezar por el diagnóstico adecuado

Los ejemplos parten de /var/www/html/obelisk y el PHP CLI instalado. Adapta rutas. Una comprobación de archivos correcta no certifica SQL, AMI, HTTPS, audio ni correo. Lee avisos y contrasta con Diagnóstico en Administración.

  1. Revisar archivos y PHP CLI

    Lecturas estáticas: no ejecuta configuración, conecta servicios ni abre SQL. Código 0 significa sin errores, posiblemente con avisos; 1 problemas; 2 argumentos inválidos. Comprueba este PHP CLI, no Apache/FPM.

    Comando
    sudo -u asterisk /usr/bin/php utility/check_installation.php --json
  2. Verificar el database de la aplicación

    Usa la conexión guardada y verifica tablas/esquema de cuentas sin cambiar datos o esquema. No confirma que las importaciones telefónicas estén al día; compruébalas aparte en Administración.

    Comando
    sudo -u asterisk /usr/bin/php utility/check_database.php
  3. Verificar el perfil de actualización

    Ante un problema del perfil, este control root diagnostica el perfil SQL administrativo existente. No migra, cambia eventos ni crea respaldo. Credenciales ausentes requieren el flujo de actualización o soporte, no editar el perfil a mano.

    Comando
    sudo /usr/bin/php utility/schema_profile.php --check

Recuperar contraseña o vinculación 2FA administrativa

Utiliza la herramienta interactiva oficial en Linux mediante un terminal SSH root autorizado. Requiere database existente y utilizable, cuenta asterisk, soporte POSIX y terminal que oculte la contraseña. Reduce privilegios antes de abrir configuración. No admite tubería, petición web ni tarea no interactiva.

  1. Abrir recuperación

    Elige en, es o it. Para recuperar una cuenta muestra administradores; también puede crear otro con usuario único. No es la utilidad ordinaria de cambio de contraseña de supervisores.

    Comando
    sudo /usr/bin/php utility/admin_recovery.php --lang=it
  2. Elegir qué recuperar

    Selecciona la cuenta, confirma reactivarla si está inactiva y decide si restablecer su vinculación 2FA. Introduce y confirma una contraseña válida o deja el campo vacío para generar una. Revisa el resumen antes de confirmar. No borres la clave 2FA compartida ni modifiques otros usuarios.

  3. Acceder y completar la protección

    Guarda privadamente la contraseña generada. Accede con la cuenta; el cambio invalida la generación de sus sesiones anteriores. Se mantiene su política 2FA: si era obligatoria y se restableció la vinculación, vuelve a vincular antes del acceso normal. Un administrador nuevo tiene 2FA opcional; configura la política deseada. Verifica el evento de recuperación en el registro de acceso.

Recuperar un bloqueo por política IP

Úsalo solo si la causa es la política de acceso de red, por ejemplo tras cambiar la IP pública del administrador. No restablece contraseña ni 2FA. Devuelve la política a valores predeterminados y limpia su estado; no es una solución genérica de acceso.

  1. Leer la ayuda

    Sin --apply muestra instrucciones y no restablece la política.

    Comando
    sudo -u asterisk /usr/bin/php utility/security_reset.php --help
  2. Aplicar el restablecimiento necesario

    Tras confirmar la causa ejecútalo una vez. Accede, vuelve a configurar las restricciones en Seguridad de acceso y verifica security_policy_reset en el registro.

    Comando
    sudo -u asterisk /usr/bin/php utility/security_reset.php --apply

Recuperar una restauración de configuración interrumpida

configuration_backup.php recupera una restauración; no crea respaldos CLI ni importa archivos arbitrarios. Usa el diario local autenticado de una restauración interrumpida. Conserva marcador y diario. Ejecútalo como asterisk, nunca root. Conserva archivo y contraseña mediante el procedimiento normal.

  1. Reanudar la recuperación autenticada

    Lee si se completó o se canceló antes del commit, conservando la configuración anterior. Si termina, sigue la indicación de acceso con un administrador restaurado. Si falla conserva el marcador y consulta al soporte; no lo borres para forzar acceso.

    Comando
    sudo -u asterisk /usr/bin/php utility/configuration_backup.php --recover

Revisar una reparación histórica delimitada

Úsala con soporte ante inconsistencias diagnosticadas en datos derivados. Repara número/tiempo de timbrado del episodio e IDs ausentes de transferencias atendidas compatibles o salientes. No recrea fuentes ausentes, migra E.164 ni restaura procedimientos. Las fechas corresponden al cierre del episodio o al CDR en salientes.

  1. Revisar el periodo acordado

    Sustituye las fechas de ejemplo. Revisa cantidades afectadas y fuentes ausentes. La vista previa es predeterminada; --preview lo indica explícitamente.

    Comando
    sudo -u asterisk /usr/bin/php utility/repair_report_data.php --from 2026-09-01 --to 2026-09-30 --preview
  2. Aplicar durante mantenimiento planificado

    Tras el respaldo utiliza la pausa oficial, verifica eventos y cron detenidos y espera a los workers activos. Después ejecuta la reparación acordada. --maintenance-confirmed declara que lo has hecho; no detiene tareas. Verifica el informe y periodo y reanuda oficialmente. No amplíes el rango por suposición.

    Comando
    sudo -u asterisk /usr/bin/php utility/repair_report_data.php --from 2026-09-01 --to 2026-09-30 --apply --maintenance-confirmed

Catálogo: diagnóstico, mantenimiento y recuperación

Utiliza solo la operación correspondiente al diagnóstico. La sintaxis procede de las herramientas instaladas; una opción apply no implica ejecutarla rutinariamente. Las vistas previas describen cambios concretos. Tras aplicarlos repite la comprobación pertinente y verifica la función.

Herramienta / operaciónFinalidad, efectos y límites
check_installation.php / check_database.php / schema_profile.phpDiagnósticos de lectura descritos arriba: instalación estática, SQL de aplicación y perfil privilegiado existente. Comprueban niveles distintos y no los reparan.
admin_recovery.php / security_reset.php / configuration_backup.phpRecuperaciones distintas de credenciales/2FA, política de acceso y restauración interrumpida. Sigue sus procedimientos; no son intercambiables.
repair_permissions.php --dry-runPropone correcciones de propietarios/permisos conocidos y almacenamiento configurado en Linux. Revisa el plan. Aplicar exige root y --apply --maintenance-confirmed en mantenimiento; no es chmod -R ni corrige privilegios SQL.
web_protection.php --dry-runRevisa reglas Apache gestionadas. --apply como root las combina, conserva personalizaciones y guarda .htaccess.obelisk-*.bak idéntico antes de cambios. Verifica HTTPS y recursos protegidos; no configura IIS.
geoip_update.php --status / --updateComprueba o descarga el database local de geografía de IP públicas. --update requiere red y escritura; no es automático. Ejecuta como asterisk y repite --status. No actualiza geografía de prefijos telefónicos.
sync_trunks.php --syncImporta líneas de FreePBX local al catálogo de informes. Escribe el catálogo, no la telefonía del PBX. Ejecuta como asterisk y comprueba Líneas en Database. Si falla descubrimiento local usa el flujo indicado o soporte.
clean.php --dry-run / recording_retention.php --dry-runVista previa del borrado por categoría o antigüedad. Para borrar requiere --apply e interruptor administrativo correspondiente. Revisa rutas, criterios y respaldo. Pueden usar almacenamiento/registros de aplicación; no son el diagnóstico estático.
repair_report_data.phpMantenimiento histórico delimitado, con vista previa y confirmación explícita descritas arriba. No detiene tareas ni recupera fuentes telefónicas ausentes.
update.php --statusConsulta el estado de actualización. Apply/check/rollback/prune deben usar orden, ID y hash exactos generados para el paquete en Administración. --check registra una observación fechada. Prune elimina recuperación y desactiva rollback; rollback SQL restaura datos previos.
retired_files.php --dry-runRevisa solo código retirado reconocido y sin cambios. --apply root exige --plan-hash exacto. Conserva archivos modificados/en uso, ajustes, datos y respaldos. Tras interrupción genera otra vista previa; no uses borrado recursivo.

Herramientas del instalador y de soporte

Estos archivos explican el inventario; no son una lista para ejecutar. Usa instalador, actualización coordinada o reparación con soporte. No ejecutes clases internas, fixtures de pruebas ni constructores de paquetes como mantenimiento de cliente.

Herramienta / operaciónFinalidad, efectos y límites
provision_database.php --connection-stdinCreación de esquema reservada al instalador con credenciales SQL administrativas por stdin. Crea objetos. No es diagnóstico ni debe reinicializar una instalación activa.
initialize_installation.php [--admin-stdin]Valores iniciales/primer administrador, coordinados normalmente por el instalador. Conserva cuentas y ajustes existentes, pero puede inicializar datos ausentes. No recupera contraseñas.
provision_routine_guard.php --interactiveCreación/recuperación del guard de privilegios MySQL con administrador SQL, según guía. Pide servidor, esquema y cuenta runtime por separado; sin contraseña en argumentos. MariaDB no lo necesita. Úsalo para la condición diagnosticada, no para restaurar procedimientos.
queue_number_settings.phpActualización E.164 puntual para instalaciones antiguas, con vista previa y socket SQL-root local. Ya incluida en instalaciones nuevas. Configura la política en Administración; no la repitas para cambiar normalización.
upgrade_phone_geography.phpMigración/importación de prefijos. Vista previa por defecto; --apply requiere privilegios y respaldo del catálogo. Puede cambiar filas estándar/esquema; conserva personalizadas. Pueden variar clasificaciones. Es distinto de GeoIP y debe seguir el plan de soporte.
upgrade_report_indexes.phpActualización aditiva de índices con vista previa por defecto; exige ALTER cuando faltan. Conserva registros e índices útiles, pero DDL puede esperar o tardar. Usa el procedimiento aprobado, no optimización especulativa.
upgrade_import_sql.phpReferencia histórica de pruebas excluida del runtime distribuido actual. No es herramienta administrativa compatible. No la copies de fuentes antiguas ni sustituyas con ella el esquema/actualización versionados.

Comprender la integración en archivos custom de FreePBX

Obelisk utiliza la instalación FreePBX existente y su directorio real /etc/asterisk. El instalador revisa la configuración custom antes de aplicar cambios. Conserva el contenido ajeno y se detiene ante una definición Obelisk desconocida o conflictiva, sin borrar el archivo.

Conserva una copia de los archivos custom antes de instalar o mantener el PBX. Si una comprobación se detiene, revisa el archivo indicado y resuelve el duplicado, bloque modificado o directiva include con el administrador del PBX. No borres todo el archivo ni añadas otro contexto de escucha. Una directiva include puede requerir revisión manual aunque sea legítima.

Archivo en /etc/asteriskAcción del instalador
queues_custom_general.confAsegura log_membername_as_agent = yes para las identidades de eventos de cola y conserva las demás opciones y comentarios.
extensions_custom.confAñade o reutiliza el contexto verificado custom-obelisk-spy para supervisión por AMI. Los bloques nuevos se delimitan con BEGIN/END OBELISK MANAGED SPY CONTEXT. No incluyas este contexto en from-internal.
manager_custom.confAñade una cuenta AMI local dedicada y delimitada solo si seleccionas Create. Las opciones de cuenta existente o configuración manual no crean esa cuenta. Una cuenta conflictiva o un bloque modificado se conserva y se señala.

Solicita tu demo

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

Cargando el formulario…