Plan complete recovery
A complete recovery plan covers the application, SQL data and the external files that make the installation usable. Coordinate it with the person responsible for FreePBX and the database. A downloaded configuration archive, an update recovery copy and a full system backup protect different things.
Build the recovery inventory
Include the whole Obelisk database
Back up data, views, routines, events and triggers, plus the database definition with its character set and collation. Record SQL accounts and grants separately. A dump of tables alone cannot recreate the full database environment or its permissions.
Keep installation files and private state
Include the installed application, kernel_settings.php, the license, the actual two-factor encryption key and audio files. Preserve the installer’s reported state under /var/lib/obelisk-installer/, the original kit, /etc/cron.d/obelisk and any private updater profile under /etc/obelisk with its restrictive permissions.
Coordinate the telephone sources
Maintain the normal FreePBX backup and protection of the source CDR and queue log data. Obelisk’s application backup does not replace them. Record where recordings actually reside, because an SQL dump cannot recover audio stored on disk or another volume.
Test restoration in isolation
Test the backup where SQL events and scheduled jobs cannot start against production services before verification. A second database on the same active SQL server is not sufficient isolation. Preserve the original database character set and collation; when the dump does not contain CREATE DATABASE, have the DBA recreate that definition deliberately. Use the SQL client’s --comments option for restoration so routine metadata comments are retained. Review the restored objects, accounts and file permissions before enabling application traffic or jobs.
Protect the key and verify MySQL metadata access
The two-factor encryption key is external to SQL. Its default location is data/obelisk_2fa.key.php, but the configured path is authoritative. Without the correct key, stored authenticator secrets cannot be decrypted. On MySQL, also preserve the definer and permissions needed by the obelisk_routine_grants view. If restoring under a different database name, the DBA must review that view’s target. A successful recovery means the application can authenticate, read its data and pass the relevant checks, not merely that an import command completed.
Complete product screenshots
Illustrative data. Open the screenshot to enlarge it and match the controls to the instructions in this chapter.
Open complete screenshot
Read the workspace section by section
Match the numbers and panels below to the complete workspace. These screenshots use illustrative data; the procedures above explain how to work with your own installation.
Restore preview
Review the archive, accounts and sensitive setting changes before confirming a restore.