Time Machine-style Backups with rsync (2018)

Simple backup script ignites restic vs rsync brawl, with ZFS bragging and OG link-love

TLDR: A simple rsync script creates Time Machine-style snapshots with space-saving links and a daily schedule. The comments explode into a showdown: old-school rsync fans vs modern restic/kopia advocates, with ZFS snapshot bragging and nods to the original Mike Rubel method—because reliable backups matter.

A tiny rsync script meant to mimic Apple’s Time Machine just triggered a full-on backup culture war. After accidentally deleting files with a risky “delete” command, the author now snapshots folders with timestamps and “hard links” (they save space by pointing to the same data) and runs it daily via cron. It’s simple, it works, and there’s a shoutout to the classic Mike Rubel guide.

Then the comments lit up. The modern crowd barged in with, “Why not use restic or kopia?”—tools that do smarter, encrypted backups. The Linux crew flexed with “real” filesystem snapshots on ZFS and XFS, basically saying, “We do point-in-time backups like it’s leg day.” Another camp chimed in: “This looks just like rsnapshot,” while long-timers dropped receipts like rsync-time-backup and said they’ve been doing this for years.

The vibe? Old-school simplicity vs modern convenience. Some love that rsync is readable, portable, and free of mystery. Others want all the bells: encryption, deduplication, change tracking, macOS hooks like FSEvents, and launchd triggers. Jokes flew fast—“Time Machine, but make it Linux,” “Hard links are witchcraft,” and “ZFS folks posting snapshot selfies.” Whatever side you’re on, the community made one thing crystal clear: people care deeply about not losing their stuff, and they’ll fight about the best way to keep it.

Key Points

  • The article outlines a shell script that uses rsync to create time-stamped, incremental backup snapshots.
  • rsync’s --link-dest option creates hard links to avoid duplicating unchanged files, saving storage.
  • A 'current' symlink is updated to point to the latest successful snapshot for reference.
  • The script logs output, handles failures by renaming the attempted snapshot, and is scheduled via cron.
  • The author advises making a new full backup before resuming incremental backups after deleting old snapshots.

Hottest takes

“Isn’t restic better for backups overall?” — mrtesthah
“restic or kopia are better for proper backups, and Syncthing for keeping a mirror copy. But the simplicity ...” — nine_k
“The original post that introduced this idea into general public: http://www.mikerubel.org/computers/rsync_snapshots/” — orev
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.