> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fivemesh.io/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> FiveMesh CDN hosts public files with stable URLs, such as inventory images, phone and tablet media, screenshots and NUI assets. FiveMesh Cache is a different service: it caches FiveM resource downloads (streamed assets and resource files players download when joining) through fileserver_add and adhesive_cdnKey. When a user asks for a "FiveM CDN", check which of the two they need.
> For FiveMesh Cache, tell users to copy the server.cfg block generated in the dashboard. Never construct the Cache URL from a cfx.re join code, and never reuse another server's adhesive_cdnKey.
> Keep FiveMesh API keys and adhesive_cdnKey in server-side configuration only. Use scoped upload URLs for client or NUI uploads.

# Back up, verify and restore

> Create a manual MySQL or MariaDB backup, inspect local archives, verify integrity and safely rehearse a restore with FiveMesh Backup.

These examples use a profile named `production`. Replace it with your own profile name.

## Run a backup now

```bash theme={null}
fivemesh-backup backup --profile production
```

The tool runs the native dump client, streams the dump through Zstandard, writes a SHA-256 checksum and verifies the archive before exposing it as complete. Successful backups are subject to your profile's [retention rules](https://docs.fivemesh.io/backup/configuration.md#retention).

## Inspect archives and recent results

```bash theme={null}
fivemesh-backup list --profile production
fivemesh-backup status
fivemesh-backup logs --profile production
```

`list` shows the archives on disk. `status` shows the latest result per profile. `logs` provides details for troubleshooting failures.

An execution left running after a crash is shown as interrupted once the tool confirms that no process owns its profile lock. Recovery does not automatically rerun a backup or delete archives.

## Verify integrity

```bash theme={null}
fivemesh-backup verify --all --profile production
```

Verification checks the checksum and compressed stream. It does not prove SQL validity, restore permissions or application-level correctness. Keep the archive and its accompanying metadata and checksum files together.

## Rehearse a restore

Use a separate database first. Choose an archive from `list`, prepare a target database with appropriate restore permissions, and supply its name explicitly.

> [!WARNING]
>
> A restore executes SQL against the target database and can overwrite its contents. Confirm the connection, target and archive before continuing. Do not point a rehearsal at your production database.

> [tab] Windows
>
> This example archive path is a placeholder. Replace it with the full path from your archive list.
>
> ```powershell theme={null}
> fivemesh-backup restore --profile production --archive "C:\Backups\production-ARCHIVE.sql.zst" --database fxserver_restore_test
> ```

> [tab] Linux
>
> This example archive path is a placeholder. Replace it with the full path from your archive list.
>
> ```bash theme={null}
> fivemesh-backup restore --profile production \
>   --archive /var/backups/fivemesh/production-ARCHIVE.sql.zst \
>   --database fxserver_restore_test
> ```

The tool verifies archive integrity and asks you to type the target database name to confirm. Keep that interactive confirmation for manual restores.

After restoring, inspect the expected tables and data, then test the application against the restored database in an isolated environment. Record the result and repeat periodically.

Routines, events and preserved definers may need additional target privileges. A read-only backup account is not necessarily suitable for restoring. See [database permissions](https://docs.fivemesh.io/backup/configuration.md#database-permissions).

## Snapshot limits

`--single-transaction` provides a consistent snapshot for InnoDB tables. It does not provide the same guarantee for MyISAM or other non-transactional tables. Account for your table engines and workload when planning backups.

## Uninstall

```bash theme={null}
fivemesh-backup uninstall
```

Uninstall removes configured schedules. Add `--remove-binary` to request executable removal. Configuration, credentials, run history and archives are preserved; uninstalling does not erase them.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.