Free

bsssync

Fast, Simple File Backup

A lightweight command-line backup tool that copies a source folder to a destination, transferring only files that are new or have changed. Does the job quickly, tells you exactly what it's doing, and stays out of the way.

One-click installer No subscription Single self-contained binary
Terminal
$ bsssync --src /projects --dst /Volumes/Backup/projects

Scanning... src/components/

  COPY  src/components/Header.tsx
  COPY  src/utils/helpers.ts
  SKIP  README.md (up to date)
   DEL  src/old-module.js

Done. 2 copied, 1 deleted, 847 skipped.
Elapsed: 1.3s

Key Features

Everything you need for reliable, fast backups — nothing you don't.

Incremental Sync

Compares files by size and modification time, skipping anything already up to date. Repeat runs are fast — only changed files are transferred.

Mirror Mode

Optionally deletes files from the destination that no longer exist in the source, keeping it an exact copy. Use --mirror to enable.

Dry Run

See exactly what would be copied or deleted before anything is touched. Use --dry-run to preview changes with zero risk.

Live Progress

Shows the current directory being scanned, updating in place without flooding the screen. Always know what it's doing.

Detailed Log

Optionally writes a timestamped log file of every action — every copy, skip, and delete — useful for auditing or troubleshooting.

ExFAT-Aware

Handles the coarse timestamp resolution of ExFAT external drives correctly, avoiding unnecessary re-copying on every run.

Symlink Support

Recreates symlinks at the destination by default. Use --dereference to copy the actual file content instead.

Simple Installation

A single self-contained binary with no runtime or dependencies. The macOS installer places it on your PATH automatically — just open a new Terminal and go.

Double-Click on macOS

Create a simple .command file on macOS and your backup runs in Terminal with a double-click — no scheduled tasks, no cloud sync, no subscription.

Simple to Use

A handful of flags covers everything you'll ever need.

Common Commands

Basic backup — copy new and changed files:

bsssync --src /source --dst /destination

Mirror mode — keep destination as exact copy:

bsssync --src /source --dst /destination --mirror

Dry run — preview changes without touching anything:

bsssync --src /source --dst /destination --dry-run

Mirror with log file:

bsssync --src /source --dst /dest --mirror --log ~/backups/sync.log
macOS .command File

Create a .command file on macOS to run your backup with a double-click. No terminal knowledge needed — just save this as backup.command and make it executable.

#!/bin/bash

# Backup my projects folder to external drive
/usr/local/bin/bsssync \
  --src ~/projects \
  --dst /Volumes/ExternalDrive/projects-backup \
  --mirror \
  --log ~/backups/sync.log

# Keep window open so you can see the result
echo ""
read -p "Done. Press Enter to close..."

Make it executable: chmod +x backup.command

All Flags
Flag Description
--src <path> Source folder to copy from (required)
--dst <path> Destination folder to copy to (required)
--mirror Delete files from destination that are no longer in source
--dry-run Preview what would happen without making any changes
--log <file> Write a timestamped log of all actions to the specified file
--verbose Print every file action, including skipped files
--dereference Copy symlink targets as real files instead of recreating the link
--help Show help and usage information

Download

Free to use. No account required. Pick the build for your platform.

Free to use for personal and commercial purposes. No account, no licence key, no telemetry.

Having trouble? Get in touch.

Ideal For

Built for the simple use case — fast, reliable backups without the ceremony.

External Drive Backups

Back up a working folder to an external drive quickly and reliably. ExFAT support means it works correctly with most external drives out of the box.

Developer Workflows

Mirror a project directory to a second location before a risky change. Fast incremental runs mean it fits into your workflow without slowing you down.

Simple Scripted Backups

Drop it in a shell script or .command file and run it whenever you need. No daemons, no services, no background processes — just run it when you want it.

Ready to try it?

Download bsssync for free — no sign-up, no subscription.