Borgend screenshot

Borgend is a retrying and queuing scheduler as well as a macOS tray icon for BorgBackup. If you are not on macOS, no tray icon will be displayed, but you can still use Borgend as a scheduler.

The lead author is Tuomo Valkonen (


You will need to install the following non-standard Python packages:

The use the tray icon on macOS, you will need:

If you are not on macOS, you will need:

With the dependencies satisfied, Borgend may be run with


To permanently authenticate Borgend to use the keychain, and therefore not have to enter the keychain password every time Borgend is launched, it is useful to create a standalone Mac app. This can be done with

To create an app that you can launch at startup and give permanent permissions to the keychain, use

python3 py2app -A

The app hould be placed under dist/. Copy it to your Applications directory, and set it up to launch on login.

If you are keen on wasting your life, you can try to run py2app without the -A option to create a standalone app that you can copy to computers without Python installed, but it will probably most likely not work because py2app is shit. Currently (2018-09-18) it is not working with the keyring package.

Usage and configuration

Configuration file

See the included config.example.yaml, which shoud be relatively self-explanatory. The lists common_parameters, create_parameters, and prune_parameters are simply Borg command line key–value parameters, passed to it after expansion of environment variables.

Edit the sample configuration file and copy it to its proper location. On macOS this should be ~/Library/Application Support/borgend/config.yaml, and on other systems this will usually be ~/.config/borgend/config.yaml. You can find out the actual location by launching Borgend from the command line with the --help option.


Passphrases are stored in the OS X Keychain (or whatever the keyring package supports on other systems). In the Borgend configuration file, you only configure the ‘account’ of the of the password using keychain_account keyword of each backup set. The ‘service’ of the password has to be borg-backup. To add a password into the keychain for the myrepo ‘account’, you may use:

security add-generic-password -a myrepo -s borg-backup -w [PASSWORD]


This software is distributed under an ANTI-ABUSE LICENSE (aka. f..k copyright and f..k distributions license), and without any warranty whatsoever. If you redistribute this software as part of a larger collection/distribution/suite of software, you must do either of the following:

(a) Always redistribute the unmodified and latest version provided by the lead author. If the lead author releases a new version (on a specific branch, such as 'stable' or 'development'), you must promptly make that new version the default version offered to your users (on that specific branch).

(b) Rename the software, and make it obvious that your modified or obsolete software is in no way connected to the lead author of the original software. The users of your version should under no circumstances be under the illusion that they can contact the lead author or any of the authors of the original software if they have any complaints or queries.

Otherwise, do whatever you want with this software. In particular, you may freely use code snippets in other projects.


Borgend is available from its Mercurial repository. You may either use Mercurial to clone the entire repository, or you may download a snapshot as a zip or tarball.