π
-
How-to guides
- π₯ Install borgmatic
- π Set up backups
- ποΈ Make per-application backups
- π Provide your passwords
- βοΈ Make backups redundant
- π Deal with very large backups
- π Inspect your backups
- π¨ Monitor your backups
- π€ Extract a backup
- ποΈ Backup your databases
- πΈ Snapshot your filesystems
- π§Ή Add preparation and cleanup steps
- πΎ Backup to a removable drive/server
- π§ Run arbitrary Borg commands
- π₯ Customize warnings/errors
- π¦ Upgrade borgmatic/Borg
- ποΈ Develop on borgmatic
-
Reference guides
- βοΈ Configuration
- π» Command-line
- π Source code
New in version 1.7.9 To backup
SQLite with borgmatic, use the sqlite_databases: hook. For example:
sqlite_databases:
- name: mydb
path: /var/lib/sqlite3/mydb.sqlite
Full configuration
Here's an example configuration with all of the available options for this feature in the most recent version of borgmatic. If you're using an older version, some of these options may not work, and you should instead generate a sample configuration file specific to your borgmatic version.
# List of one or more SQLite databases to dump before creating a
# backup, run once per configuration file. The database dumps are
# added to your source directories at runtime and streamed directly to
# Borg. Requires the sqlite3 command. See https://sqlite.org/cli.html
# for details.
sqlite_databases:
# This is used to tag the database dump file with a name.
# It is not the path to the database file itself. The name
# "all" has no special meaning for SQLite databases.
- name: users
# Path to the SQLite database file to dump. If relative,
# it is relative to the current working directory. Note
# that using this database hook implicitly enables
# read_special (see above) to support dump and restore
# streaming.
path: /var/lib/sqlite/users.db
# Label to identify the database dump in the backup.
label: my_backup_label
# Path to the SQLite database file to restore to. Defaults
# to the "path" option.
restore_path: /var/lib/sqlite/users.db
# Command to use instead of "sqlite3". This can be used to
# run a specific sqlite3 version (e.g., one inside a
# running container). If you run it from within a
# container, make sure to mount the path in the
# "user_runtime_directory" option from the host into the
# container at the same location. Defaults to "sqlite3".
sqlite_command: docker exec sqlite_container sqlite3
# Command to run when restoring a database instead
# of "sqlite3". This can be used to run a specific
# sqlite3 version (e.g., one inside a running container).
# Defaults to "sqlite3".
sqlite_restore_command: docker exec sqlite_container sqlite3
Improve this documentation
Have an idea on how to make this documentation even better? Use our issue tracker to send your feedback!