Demo
Terminal previewlazyrsync
Overview
Lazyrsync is a Ratatui terminal interface for rsync that saves reusable local and SSH sync tasks, previews itemized changes before writing, and shows live transfer progress.
๐ฆ A friendly terminal UI for rsync, written in Rust. Reusable profiles, an honest dry-run diff, and live progress, even over SSH.
Keyboard Shortcuts
Preview the selected Task as a dry-runp
Run the selected Task, or all tasks in the active profile (Tasks context)r / R
Switch between Tasks and Profiles sub-tabs]
Edit source and destination pathse
Cancel the active preview or runc
Open context-aware help?
Latest Release
v0.3.0
Released: Aug 10, 2026Added
rsync_pathinsettings.tomlpicks which rsync binary runs instead of the
first one on$PATH. Useful on macOS 15.4 and later, where/usr/bin/rsync
is openrsync and shadows Homebrew's rsync, and in any launch context with a
minimal$PATHsuch as cron. The configured binary is what the resolved
command in the TUI andlazyrsync listreports.- A startup warning when the rsync found on
$PATHis older than 3.1. The
preview needs--itemize-changes, the progress bar needs--info=progress2
and snapshots need--link-dest; openrsync has none of the first two and
accepts--link-destwithout reliably hardlinking. - Statically linked musl release binaries for
x86_64-unknown-linux-musland
aarch64-unknown-linux-musl, so distributions carrying a glibc older than
2.34 can run a prebuilt binary.cargo binstallresolves them on musl hosts.
Changed
- Saving
settings.tomlpreserves comments and every hand-edited key; only
hintsandlast_profileare rewritten. Editing the file while the TUI is
open no longer loses those edits on exit. settings.tomlrejects unknown keys, the ruleprofiles.tomlalready
followed. One consequence for both: a file written by a newer lazyrsync may
fail to load on an older binary rather than being partially ignored.
Fixed
- A
settings.tomlthat exists but cannot be read or parsed is now a loud
error instead of being silently discarded and replaced with defaults.
Discussions