Rsync time backup is a shell script that provides Time Machine–style backups using rsync, with a focus on being simple, flexible, and cross-platform. It creates incremental backups of files and directories, placing each snapshot in its own timestamped folder so you can restore files by simply copying them from the backup tree. Unchanged files between backups are represented as hard links, which means you get a full snapshot view of each backup while using minimal additional disk space. The script supports both local and remote destinations over SSH, making it suitable for backing up to external drives, NAS devices, or remote servers. On macOS it lacks some Time Machine automations like plug-and-backup or a dedicated restore GUI, but it compensates with the ability to work on Linux and Windows (via WSL or Cygwin) and to target any filesystem, including encrypted ones such as TrueCrypt volumes.
Features
- Time Machine–style incremental backups built on standard rsync
- Timestamped backup directories that can be browsed and restored directly with any file manager
- Space-efficient hard-link strategy so unchanged files use almost no extra disk space across snapshots
- Support for local and remote backups over SSH, including configurable ports and SSH keys
- Flexible expiration strategy with a default schedule that keeps frequent recent backups and coarser older ones
- Safety and robustness features including backup destination markers, resume on interruption, and exclude file support