Sun, 28 Jan 2018 11:54:46 +0000
Better package-like organisation
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
1 | # Borgend |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
2 | |
65
6fed67863b00
README and config.example.yaml updates to describe queuing features
Tuomo Valkonen <tuomov@iki.fi>
parents:
56
diff
changeset
|
3 | This is a retrying and queuing scheduler as well as a MacOS tray icon for [BorgBackup](https://borgbackup.readthedocs.io/en/stable/). |
67
75e514746980
README Non-MacOS description fix
Tuomo Valkonen <tuomov@iki.fi>
parents:
66
diff
changeset
|
4 | If you are not on MacOS, no tray icon will be displayed, but you can still use Borgend as a scheduler. |
13 | 5 | |
66 | 6 | You can have multiple backups to the same repository, for example, you may backup a small subset of your files every couple of hours, and everything once a day or once a week. Borgend will ensure that only one backup is launched at a time, and queue the other one until the repository is available. |
7 | If there was an error, such as when you are offline and backup to a remote ssh location, Borgend will also retry the backup at set shorter intervals. | |
65
6fed67863b00
README and config.example.yaml updates to describe queuing features
Tuomo Valkonen <tuomov@iki.fi>
parents:
56
diff
changeset
|
8 | |
13 | 9 | The lead author is Tuomo Valkonen (<tuomov@iki.fi>). |
10 | ||
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
11 | ## Installation |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
12 | |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
13 | You will need to install the following non-standard Python packages: |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
14 | |
41
e2641cb9ca6d
--no-tray command line option for running on non-MacOS systems
Tuomo Valkonen <tuomov@iki.fi>
parents:
37
diff
changeset
|
15 | - [keyring](https://pypi.python.org/pypi/keyring) to extract passphrases from the keychain |
56
d63f6e9a4633
pyyaml was missing from listed dependencies
Tuomo Valkonen <tuomov@iki.fi>
parents:
47
diff
changeset
|
16 | - [pyyaml](http://pyyaml.org/) for parse configuration files |
41
e2641cb9ca6d
--no-tray command line option for running on non-MacOS systems
Tuomo Valkonen <tuomov@iki.fi>
parents:
37
diff
changeset
|
17 | |
e2641cb9ca6d
--no-tray command line option for running on non-MacOS systems
Tuomo Valkonen <tuomov@iki.fi>
parents:
37
diff
changeset
|
18 | The use the tray icon on Mac OS, you will need: |
e2641cb9ca6d
--no-tray command line option for running on non-MacOS systems
Tuomo Valkonen <tuomov@iki.fi>
parents:
37
diff
changeset
|
19 | |
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
20 | - [rumps](https://github.com/jaredks/rumps) (Ridiculously Uncomplicated macOS Python Statusbar apps) |
37 | 21 | |
41
e2641cb9ca6d
--no-tray command line option for running on non-MacOS systems
Tuomo Valkonen <tuomov@iki.fi>
parents:
37
diff
changeset
|
22 | If you are not on Mac OS, you will need: |
37 | 23 | |
24 | - [xdg](https://pypi.python.org/pypi/xdg/3.0.0) for configuration file location | |
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
25 | |
25
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
26 | For passphrase use authentication to work correctly, it is useful to create a standalone Mac app. This can be don with `py2app`. You can install it with |
22
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
27 | |
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
28 | pip install py2app |
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
29 | |
33
91421eeb4426
Use rumps.application_support instead of xdg paths. Also separated branding into config.py
Tuomo Valkonen <tuomov@iki.fi>
parents:
26
diff
changeset
|
30 | (for alternatives see [py2app documentation](https://py2app.readthedocs.io/en/latest/install.html)). Then, to build the standalone app, run |
22
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
31 | |
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
32 | python3 setup.py py2app |
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
33 | |
23 | 34 | The apps hould be placed under `dist/`. |
22
c3e95212e3f0
py2app standalone app generation
Tuomo Valkonen <tuomov@iki.fi>
parents:
20
diff
changeset
|
35 | |
41
e2641cb9ca6d
--no-tray command line option for running on non-MacOS systems
Tuomo Valkonen <tuomov@iki.fi>
parents:
37
diff
changeset
|
36 | |
25
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
37 | ## Usage and configuration |
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
38 | |
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
39 | ### Configuration file |
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
40 | |
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
41 | See the included `config.example.yaml`, which shoud be relatively self-explanatory. Everything under `common_parameters`, `create_parameters`, and `prune_parameters` are simply Borg command line key–value parameters. |
47
305de2297fde
README configuration file location update
Tuomo Valkonen <tuomov@iki.fi>
parents:
44
diff
changeset
|
42 | 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 `~/.config/borgend/config.yaml`. You can find the location with the `--help` option. |
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
43 | |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
44 | ### Passphrases |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
45 | |
25
efa4c61c6f01
Sample configuration file added along with a few words of documentation
Tuomo Valkonen <tuomov@iki.fi>
parents:
23
diff
changeset
|
46 | 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 ‘my-borg-backup’, you may use: |
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
47 | |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
48 | security add-generic-password -a my-borg-backup -s borg-backup -w [PASSWORD] |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
49 | |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
50 | |
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
51 | ## License |
13 | 52 | |
53 | This software is distributed under an ANTI-ABUSE LICENSE (aka. *fuck copyright and fuck 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: | |
54 | ||
55 | (a) Always redistribute the **unmodified** and **latest** version provided | |
56 | 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 | |
57 | version the default version offered to your users (on that specific branch). | |
58 | ||
59 | (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. | |
60 | ||
44 | 61 | Otherwise, do whatever you want with this software. In particular, you may freely use code snippets in other projects. |
20
fdfbe5d7b677
Keychain support and random fixes
Tuomo Valkonen <tuomov@iki.fi>
parents:
13
diff
changeset
|
62 | |
44 | 63 |