DEV Community


A lightweight low-level time machine backup utility for Linux

Lewis Low
UI / Web Designer, Frontend Developer, & Graphic Designer
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.

Those who are using the opensource tool that I created. Brings happiness, eliminate troubles, and plant the seeds of Buddha, after all, they are free from suffering. Namo Amitabha. 凡是用了我所创造的布施工具的众生,都得开开心心的,烦恼消灭,皆种成佛种子,毕竟离苦得乐。南无阿弥佗佛。

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
$ 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.

Discussion (0)