BTRFS-BACKUP-NG-RUN(1)

πŸ“¦
version 0.9.20 Β· 2 versions
, in fedora 43, fedora 44

πŸ’– BTRFS-BACKUP-NG-RUN(1) β€” the one where you actually run the backups πŸ’–

okay bestie, listen up. this is btrfs-backup-ng-run, and she's the main character of the whole btrfs-backup-ng manual. her whole job? execute all configured backup jobs. that's it. that's the gig. she's the one you actually put in your cron. everything else is just supporting cast. ✨


πŸŽ€ NAME πŸŽ€

btrfs-backup-ng-run β€” execute all configured backup jobs

like. yes. all of them. every single one you configured. she doesn't do half measures. πŸ’…


🌸 SYNOPSIS 🌸

btrfs-backup-ng run [OPTIONS]

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea β˜•: this command runs all your configured backup jobs, and for each configured volume it does three things in sequence β€” in order, no skipping, no cutting the line:

  1. Create a new snapshot of the source volume
  2. Transfer snapshots to all configured targets (incrementally when possible). A target that has missed runs is sent what it is missing, except what its own retention would delete in step 3: that decision is made before sending, by the same retention rules. A btrfs target ends up holding exactly what it would have held had everything been sent and pruned. A raw target can end up holding fewer streams: its prune keeps a stored increment's parent, and a parent that was never sent needs no keeping.
  3. Apply retention policies to clean up old snapshots and backups

fr fr, that's the whole vibe. snapshot β†’ send β†’ tidy up. iconic behaviour, no notes. πŸ‘‘

This is the primary command for automated backups via systemd timers or cron. like, this is the one you schedule. she's built for it. ngl she thrives in a cron job. ⭐

Big important heads-up before you go anywhere: every volume path, every target path and an absolute snapshot_dir must exist before the run; none of them is created, and a missing one is refused with the likely cause. See PATHS in btrfs-backup-ng(1).

🚨 bestie do NOT come at her with paths that don't exist yet. she will not make them for you. she is not your mom, she is your backup runner. missing path = refusal with a lil explanation of what probably went wrong. 😭

✨ OPTIONS ✨

  • --dry-run β€” Show what would be done without making any changes. Useful for testing configuration and verifying behavior. (the girlies LOVE this one for a lil test run 🧚)
  • --parallel-volumes N β€” Maximum number of volumes to process concurrently. Overrides the parallel_volumes setting in the configuration file.
  • --parallel-targets N β€” Maximum number of targets to transfer to concurrently per volume. Overrides the parallel_targets setting in the configuration file.
  • --compress METHOD β€” Compression method for transfers. Overrides per-target configuration. Valid methods: none, zstd, gzip, lz4, pigz, lzop.
  • --rate-limit RATE β€” Bandwidth limit for transfers. Overrides per-target configuration. Examples: 10M (10 MB/s), 1G (1 GB/s), 500K (500 KB/s).
  • --progress β€” Show progress bars during transfers. Default when running in a terminal.
  • --no-progress β€” Disable progress bars. Default when not running in a terminal (e.g., cron).
  • --force β€” Proceed with transfers even if space check fails. (yes she's going anyway. hold her back. you can't. πŸ’€)
  • --newest-only β€” Transfer only the snapshot just created, leaving any earlier un-transferred ones behind (the behaviour before 0.9.7).
  • --no-check-space β€” Disable pre-flight space availability check.
  • --safety-margin PERCENT β€” Safety margin percentage for space check (default: 10%).

🌈 EXAMPLES 🌈

Run all backup jobs:

btrfs-backup-ng run

Dry run to see what would happen:

btrfs-backup-ng run --dry-run

Run with parallel processing:

btrfs-backup-ng run --parallel-volumes 2 --parallel-targets 3

Run with compression and rate limiting:

btrfs-backup-ng run --compress zstd --rate-limit 50M

see how easy? four lil lines. go forth and back up your stuff. 🫢


πŸ’œ SEE ALSO πŸ’œ

btrfs-backup-ng(1), btrfs-backup-ng-snapshot(1), btrfs-backup-ng-transfer(1), btrfs-backup-ng-prune(1)


and that's the whole page, bestie!! πŸŽ€ she's from the btrfs-backup-ng collection, dated January 2026, and honestly? she ate. go schedule her. periodt. βœ¨πŸ’–

πŸ“¦ where this page comes from