Local files
config.toml holds non-secret profile settings. credentials.toml holds database passwords and the optional Discord webhook URL. FIVEMESH_BACKUP_HOME overrides the configuration directory.
Credentials are plaintext in a permission-protected file, not an encrypted vault. Linux requires restrictive permissions (0600). Windows restricts access to the current account, SYSTEM and Administrators. A process running as that account can still read the file.
Database passwords are passed to native clients through short-lived protected option files, not command-line arguments. Keep the configuration directory private and run scheduled backups as the account that owns it.
Retention
Each profile can configure:
All three settings are optional. Setting all three to zero disables automatic retention. Cleanup considers complete archives with matching metadata for the profile; unrelated files are not removed.
The count and age rules are combined: an archive is kept if either rule applies. The byte limit can then remove older archives that those rules would keep. Do not treat
maximum_bytes as a hard disk quota: the newest successful archive is always retained, even if it alone exceeds the limit. Monitor free disk space and keep off-machine copies separately when needed.
Database permissions
Use a dedicated backup database account with only the access your dumps need. Typical grants includeSELECT, SHOW VIEW, TRIGGER, EVENT and LOCK TABLES; routines can require additional visibility privileges depending on the engine and version.
MariaDB versions with granular routine privileges can require SHOW CREATE ROUTINE; older versions may use other grants. Inspect the sanitized native client error instead of applying a broad universal grant.
Restoring needs creation permissions on the target database. MariaDB routine/event definers can require suitable existing accounts or SET USER. Review those privileges with your database administrator before a restore.
Timeouts and startup
There is no default execution timeout for a dump. Set the optionalbackup.timeout using Go duration syntax, such as "12h", only if you know an appropriate upper bound.
Before dumping, the tool waits for authenticated database connectivity for up to 120 seconds, or the configured backup timeout if shorter. Availability errors are retried. Invalid credentials, missing databases and permission failures are not.
Troubleshooting
Replace
production with your profile name. For a reproducible failure, include the tool version, OS and sanitized error when opening an issue. Do not include credentials, webhook URLs or database contents.