A lightweight low-level time machine backup utility for Linux

loouislow profile image Loouis Low Updated on ・2 min read

I created this Equilibrium the low-level backup tool because at my workplace has a terrible IT culture. That backing data is an optional practice. This tool helps me to incrementally backup changes on my working computer at volume-level with time and date stamps. Go visit my Github repository page and give a star if you like it.

Equilibrium is a completely built on top of Rsync, a very straight forward and lightweight, but not sacrificing the backup performance or even hogging the host system. And I also can even configure with the crontab to schedule the backup.

The custom codes are fully utilized all the Rsync API goodness that gives you these amazing features:

  • Each backup volume is determined by date per backup session.
  • Continuously resume backup with a marker system.
  • Auto generates a path to the latest backup volume.
  • Auto excludes residual files and directories.
  • Generate statistics after the finished the backup session.

The volume-level backup files structure that looks like below:

├── /2019-08-17-144927/     (e.g. volume 1)
├── /2019-08-17-154805/     (e.g. volume 2)
├── /2019-08-17-155055/     (e.g. volume 3)
├── backup.inprogress       (resume indicator)
├── backup.marker           (resume marker data)
└── latest                  (endpoint to latest backup)
Enter fullscreen mode Exit fullscreen mode


Let's launch a new Terminal and clone the repository at Github,

$ git clone https://github.com/loouislow81/equilibrium.git
$ cd equilibrium
Enter fullscreen mode Exit fullscreen mode


Run this command to install to use system-wide,

$ sudo ./equilibrium --install
Enter fullscreen mode Exit fullscreen mode

If you prefer a binary version, go download binary.


After installed, you can run without using the ./ and it is ready to run system-wide. You will need to edit /etc/equilibrium.conf for the first time, change whatever necessary to suit your backup behavior. The source and target directories, transfer bandwidths, etc.

(!!) Value for bandwidth_limit is in kBytes, value 50000 is 50 MBytes/s transfer rate by default.

$ sudo equilibrium --config
Enter fullscreen mode Exit fullscreen mode

The above command will open file /etc/equilibrium.conf with the default text editor in the Terminal that looks like below,

##### configurations for `backup` script


##### configuration for `equilibrium-core` script

Enter fullscreen mode Exit fullscreen mode


To exclude files, directories, or extensions from the backup session. It also came with pre-defined settings with several examples,

$ sudo equilibrium --exclusion
Enter fullscreen mode Exit fullscreen mode

First Backup

When you are ready, start the backup session with this command,

$ sudo equilibrium --run
Enter fullscreen mode Exit fullscreen mode


Alt Text

Alt Text

Alt Text

Alt Text

Thank you for reading this article. Please heart or unicorn would encourage me to write more about this kind of article next time.


Editor guide