borgmatic

Simple, configuration-driven backup software for servers and workstations

GPL-3.0 License

Stars
1.7K
Committers
90

Bot releases are visible (Hide)

borgmatic - borgmatic 1.7.8

Published by witten over 1 year ago

  • #620: With the "create" action and the "--list" ("--files") flag, only show excluded files at
    verbosity 2.
  • #621: Add optional authentication to the ntfy monitoring hook.
  • With the "create" action, only one of "--list" ("--files") and "--progress" flags can be used.
    This lines up with the new behavior in Borg 2.0.0b5.
  • Internally support new Borg 2.0.0b5 "--filter" status characters / item flags for the "create"
    action.
  • Fix the "create" action with the "--dry-run" flag querying for databases when a PostgreSQL/MySQL
    "all" database is configured. Now, these queries are skipped due to the dry run.
  • Add "--repository" flag to the "rcreate" action to optionally select one configured repository to
    create.
  • Add "--progress" flag to the "transfer" action, new in Borg 2.0.0b5.
  • Add "checkpoint_volume" configuration option to creates checkpoints every specified number of
    bytes during a long-running backup, new in Borg 2.0.0b5.
borgmatic - borgmatic 1.7.7

Published by witten over 1 year ago

  • #642: Add MySQL database hook "add_drop_database" configuration option to control whether dumped
    MySQL databases get dropped right before restore.
  • #643: Fix for potential data loss (data not getting backed up) when dumping large "directory"
    format PostgreSQL/MongoDB databases. Prior to the fix, these dumps would not finish writing to
    disk before Borg consumed them. Now, the dumping process completes before Borg starts. This only
    applies to "directory" format databases; other formats still stream to Borg without using
    temporary disk space.
  • Fix MongoDB "directory" format to work with mongodump/mongorestore without error. Prior to this
    fix, only the "archive" format worked.
borgmatic - borgmatic 1.7.6

Published by witten over 1 year ago

  • #393, #438, #560: Optionally dump "all" PostgreSQL/MySQL databases to separate files instead of one
    combined dump file, allowing more convenient restores of individual databases. You can enable
    this by specifying the database dump "format" option when the database is named "all".
  • #602: Fix logs that interfere with JSON output by making warnings go to stderr instead of stdout.
  • #622: Fix traceback when include merging configuration files on ARM64.
  • #629: Skip warning about excluded special files when no special files have been excluded.
  • #630: Add configuration options for database command customization: "list_options",
    "restore_options", and "analyze_options" for PostgreSQL, "restore_options" for MySQL, and
    "restore_options" for MongoDB.
borgmatic - borgmatic 1.7.5

Published by witten almost 2 years ago

  • #311: Override PostgreSQL dump/restore commands via configuration options.
  • #604: Fix traceback when a configuration section is present but lacking any options.
  • #607: Clarify documentation examples for include merging and deep merging.
  • #611: Fix "data" consistency check to support "check_last" and consistency "prefix" options.
  • #613: Clarify documentation about multiple repositories and separate configuration files.
borgmatic - borgmatic 1.7.4

Published by witten about 2 years ago

  • #596: Fix special file detection erroring when broken symlinks are encountered.
  • #597, #598: Fix regression in which "check" action errored on certain systems ("Cannot determine
    Borg repository ID").
borgmatic - borgmatic 1.7.3

Published by witten about 2 years ago

  • #357: Add "break-lock" action for removing any repository and cache locks leftover from Borg
    aborting.
  • #360: To prevent Borg hangs, unconditionally delete stale named pipes before dumping databases.
  • #587: When database hooks are enabled, auto-exclude special files from a "create" action to
    prevent Borg from hanging. You can override/prevent this behavior by explicitly setting the
    "read_special" option to true.
  • #587: Warn when ignoring a configured "read_special" value of false, as true is needed when
    database hooks are enabled.
  • #589: Update sample systemd service file to allow system "idle" (e.g. a video monitor turning
    off) while borgmatic is running.
  • #590: Fix for potential data loss (data not getting backed up) when the "patterns_from" option
    was used with "source_directories" (or the "~/.borgmatic" path existed, which got injected into
    "source_directories" implicitly). The fix is for borgmatic to convert "source_directories" into
    patterns whenever "patterns_from" is used, working around a Borg bug:
    https://github.com/borgbackup/borg/issues/6994
  • #590: In "borgmatic create --list" output, display which files get excluded from the backup due
    to patterns or excludes.
  • #591: Add support for Borg 2's "--match-archives" flag. This replaces "--glob-archives", which
    borgmatic now treats as an alias for "--match-archives". But note that the two flags have
    slightly different syntax. See the Borg 2 changelog for more information:
    https://borgbackup.readthedocs.io/en/2.0.0b3/changes.html#version-2-0-0b3-2022-10-02
  • Fix for "borgmatic --archive latest" not finding the latest archive when a verbosity is set.
borgmatic - borgmatic 1.7.2

Published by witten about 2 years ago

  • #577: Fix regression in which "borgmatic info --archive ..." showed repository info instead of
    archive info with Borg 1.
  • #582: Fix hang when database hooks are enabled and "patterns" contains a parent directory of
    "~/.borgmatic".
borgmatic - borgmatic 1.7.1

Published by witten about 2 years ago

  • #542: Make the "source_directories" option optional. This is useful for "check"-only setups or
    using "patterns" exclusively.
  • #574: Fix for potential data loss (data not getting backed up) when the "patterns" option was
    used with "source_directories" (or the "~/.borgmatic" path existed, which got injected into
    "source_directories" implicitly). The fix is for borgmatic to convert "source_directories" into
    patterns whenever "patterns" is used, working around a potential Borg bug:
    https://github.com/borgbackup/borg/issues/6994
borgmatic - borgmatic 1.7.0

Published by witten about 2 years ago

  • #463: Add "before_actions" and "after_actions" command hooks that run before/after all the
    actions for each repository. These new hooks are a good place to run per-repository steps like
    mounting/unmounting a remote filesystem.
  • #463: Update documentation to cover per-repository configurations:
    https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/
  • #557: Support for Borg 2 while still working with Borg 1. This includes new borgmatic actions
    like "rcreate" (replaces "init"), "rlist" (list archives in repository), "rinfo" (show repository
    info), and "transfer" (for upgrading Borg repositories). For the most part, borgmatic tries to
    smooth over differences between Borg 1 and 2 to make your upgrade process easier. However, there
    are still a few cases where Borg made breaking changes. See the Borg 2.0 changelog for more
    information: https://www.borgbackup.org/releases/borg-2.0.html
  • #557: If you install Borg 2, you'll need to manually upgrade your existing Borg 1 repositories
    before use. Note that Borg 2 stable is not yet released as of this borgmatic release, so don't
    use Borg 2 for production until it is! See the documentation for more information:
    https://torsion.org/borgmatic/docs/how-to/upgrade/#upgrading-borg
  • #557: Rename several configuration options to match Borg 2: "remote_rate_limit" is now
    "upload_rate_limit", "numeric_owner" is "numeric_ids", and "bsd_flags" is "flags". borgmatic
    still works with the old options.
  • #557: Remote repository paths without the "ssh://" syntax are deprecated but still supported for
    now. Remote repository paths containing "~" are deprecated in borgmatic and no longer work in
    Borg 2.
  • #557: Omitting the "--archive" flag on the "list" action is deprecated when using Borg 2. Use
    the new "rlist" action instead.
  • #557: The "--dry-run" flag can now be used with the "rcreate"/"init" action.
  • #565: Fix handling of "repository" and "data" consistency checks to prevent invalid Borg flags.
  • #566: Modify "mount" and "extract" actions to require the "--repository" flag when multiple
    repositories are configured.
  • #571: BREAKING: Remove old-style command-line action flags like "--create, "--list", etc. If
    you're already using actions like "create" and "list" instead, this change should not affect you.
  • #571: BREAKING: Rename "--files" flag on "prune" action to "--list", as it lists archives, not
    files.
  • #571: Add "--list" as alias for "--files" flag on "create" and "export-tar" actions.
  • Add support for disabling TLS verification in Healthchecks monitoring hook with "verify_tls"
    option.
borgmatic - borgmatic 1.6.6

Published by witten over 2 years ago

  • #559: Update documentation about configuring multiple consistency checks or multiple databases.
  • #560: Fix all database hooks to error when the requested database to restore isn't present in the
    Borg archive.
  • #561: Fix command-line "--override" flag to continue supporting old configuration file formats.
  • #563: Fix traceback with "create" action and "--json" flag when a database hook is configured.
borgmatic - borgmatic 1.6.5

Published by witten over 2 years ago

  • #553: Fix logging to include the full traceback when Borg experiences an internal error, not just
    the first few lines.
  • #554: Fix all monitoring hooks to warn if the server returns an HTTP 4xx error. This can happen
    with Healthchecks, for instance, when using an invalid ping URL.
  • #555: Fix environment variable plumbing so options like "encryption_passphrase" and
    "encryption_passcommand" in one configuration file aren't used for other configuration files.
borgmatic - borgmatic 1.6.4

Published by witten over 2 years ago

borgmatic - borgmatic 1.6.3

Published by witten over 2 years ago

borgmatic - borgmatic 1.6.2

Published by witten over 2 years ago

  • #523: Reduce the default consistency check frequency and support configuring the frequency
    independently for each check. Also add "borgmatic check --force" flag to ignore configured
    frequencies. See the documentation for more information:
    https://torsion.org/borgmatic/docs/how-to/deal-with-very-large-backups/#check-frequency
  • #536: Fix generate-borgmatic-config to support more complex schema changes like the new
    Healthchecks configuration options when the "--source" flag is used.
  • #538: Add support for "borgmatic borg debug" command.
  • #539: Add "generate-borgmatic-config --overwrite" flag to replace an existing destination file.
  • Add Bash completion script so you can tab-complete the borgmatic command-line. See the
    documentation for more information:
    https://torsion.org/borgmatic/docs/how-to/set-up-backups/#shell-completion
borgmatic - borgmatic 1.6.1

Published by witten over 2 years ago

  • #294: Add Healthchecks monitoring hook "ping_body_limit" option to configure how many bytes of
    logs to send to the Healthchecks server.
  • #402: Remove the error when "archive_name_format" is specified but a retention prefix isn't.
  • #420: Warn when an unsupported variable is used in a hook command.
  • #439: Change connection failures for monitoring hooks (Healthchecks, Cronitor, PagerDuty, and
    Cronhub) to be warnings instead of errors. This way, the monitoring system failing does not block
    backups.
  • #460: Add Healthchecks monitoring hook "send_logs" option to enable/disable sending borgmatic
    logs to the Healthchecks server.
  • #525: Add Healthchecks monitoring hook "states" option to only enable pinging for particular
    monitoring states (start, finish, fail).
  • #528: Improve the error message when a configuration override contains an invalid value.
  • #531: BREAKING: When deep merging common configuration, merge colliding list values by appending
    them. Previously, one list replaced the other.
  • #532: When a configuration include is a relative path, load it from either the current working
    directory or from the directory containing the file doing the including. Previously, only the
    working directory was used.
  • Add a randomized delay to the sample systemd timer to spread out the load on a server.
  • Change the configuration format for borgmatic monitoring hooks (Healthchecks, Cronitor,
    PagerDuty, and Cronhub) to specify the ping URL / integration key as a named option. The intent
    is to support additional options (some in this release). This change is backwards-compatible.
  • Add emojis to documentation table of contents to make it easier to find particular how-to and
    reference guides at a glance.
borgmatic - borgmatic 1.6.0

Published by witten over 2 years ago

  • #381: BREAKING: Greatly simplify configuration file reuse by deep merging when including common
    configuration. See the documentation for more information:
    https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#include-merging
  • #473: BREAKING: Instead of executing "before" command hooks before all borgmatic actions run (and
    "after" hooks after), execute these hooks right before/after the corresponding action. E.g.,
    "before_check" now runs immediately before the "check" action. This better supports running
    timing-sensitive tasks like pausing containers. Side effect: before/after command hooks now run
    once for each configured repository instead of once per configuration file. Additionally, the
    "repositories" interpolated variable has been changed to "repository", containing the path to the
    current repository for the hook. See the documentation for more information:
    https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
  • #513: Add mention of sudo's "secure_path" option to borgmatic installation documentation.
  • #515: Fix "borgmatic borg key ..." to pass parameters to Borg in the correct order.
  • #516: Fix handling of TERM signal to exit borgmatic, not just forward the signal to Borg.
  • #517: Fix borgmatic exit code (so it's zero) when initial Borg calls fail but later retries
    succeed.
  • Change Healthchecks logs truncation size from 10k bytes to 100k bytes, corresponding to that
    same change on Healthchecks.io.
borgmatic - borgmatic 1.5.24

Published by witten over 2 years ago

  • #431: Add "working_directory" option to support source directories with relative paths.
  • #444: When loading a configuration file that is unreadable due to file permissions, warn instead
    of erroring. This supports running borgmatic as a non-root user with configuration in ~/.config
    even if there is an unreadable global configuration file in /etc.
  • #469: Add "repositories" context to "before_" and "after_" command action hooks. See the
    documentation for more information:
    https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
  • #486: Fix handling of "patterns_from" and "exclude_from" options to error instead of warning when
    referencing unreadable files and "create" action is run.
  • #507: Fix Borg usage error in the "compact" action when running "borgmatic --dry-run". Now, skip
    "compact" entirely during a dry run.
borgmatic - borgmatic 1.5.23

Published by witten over 2 years ago

  • #394: Compact repository segments and free space with new "borgmatic compact" action. Borg 1.2+
    only. Also run "compact" by default when no actions are specified, as "prune" in Borg 1.2 no
    longer frees up space unless "compact" is run.
  • #394: When using the "atime", "bsd_flags", "numeric_owner", or "remote_rate_limit" options,
    tailor the flags passed to Borg depending on the Borg version.
  • #480, #482: Fix traceback when a YAML validation error occurs.
borgmatic - borgmatic 1.5.22

Published by witten almost 3 years ago

  • #288: Add database dump hook for MongoDB.
  • #470: Move mysqldump options to the beginning of the command due to MySQL bug 30994.
  • #471: When command-line configuration override produces a parse error, error cleanly instead of
    tracebacking.
  • #476: Fix unicode error when restoring particular MySQL databases.
  • Drop support for Python 3.6, which has been end-of-lifed.
  • Add support for Python 3.10.
borgmatic - borgmatic 1.5.21

Published by witten almost 3 years ago

  • #28: Optionally retry failing backups via "retries" and "retry_wait" configuration options.
  • #306: Add "list_options" MySQL configuration option for passing additional arguments to MySQL
    list command.
  • #459: Add support for old version (2.x) of jsonschema library.