README and config.example.yaml updates to describe queuing features

Thu, 25 Jan 2018 22:42:01 +0000

author
Tuomo Valkonen <tuomov@iki.fi>
date
Thu, 25 Jan 2018 22:42:01 +0000
changeset 65
6fed67863b00
parent 64
6cfe6a89e810
child 66
4bc6322d0306

README and config.example.yaml updates to describe queuing features

README.md file | annotate | diff | comparison | revisions
config.example.yaml file | annotate | diff | comparison | revisions
--- a/README.md	Thu Jan 25 22:34:55 2018 +0000
+++ b/README.md	Thu Jan 25 22:42:01 2018 +0000
@@ -1,8 +1,15 @@
 # Borgend
 
-This is a retrying scheduler as well as a MacOS tray icon for [BorgBackup](https://borgbackup.readthedocs.io/en/stable/).
+This is a retrying and queuing scheduler as well as a MacOS tray icon for [BorgBackup](https://borgbackup.readthedocs.io/en/stable/).
 If you are not on MacOS, no tray icon will be displayed, but you can still use Borgend as a retrying scheduler.
 
+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 once backup is
+launched at a time, and queue the other one until the repository is
+available. If there was an error, such as when you are offline and backup up
+to a remote ssh location, Borgend will also retry the backup at set shorter intervals.
+
 The lead author is Tuomo Valkonen (<tuomov@iki.fi>).
 
 ## Installation
--- a/config.example.yaml	Thu Jan 25 22:34:55 2018 +0000
+++ b/config.example.yaml	Thu Jan 25 22:42:01 2018 +0000
@@ -12,13 +12,14 @@
   - weekly: 50
 
 backups:
+ # 1. Most files in $HOME to ssh://myserver.invalid
  - name: Home to 'myserver'
-   # Backup every 6 hours
-   backup_interval: 21600
+   # Backup every 24 hours
+   backup_interval: 86400
    # Retry every 15 minutes if unable to connect / unfinished backup
    retry_interval: 900
    repository: ssh://myserver.invalid/~/storage/borg
-   archive_prefix: 'mylaptop-'
+   archive_prefix: 'all@mylaptop-'
    archive_template: '{now:%Y-%m-%d_%H:%M:%S}'
    keychain_account: borg-backup@mylaptop
    paths:
@@ -37,6 +38,27 @@
     - pattern: "- $HOME/Library/"
     - pattern: "- $HOME/.config/borg/security/"
 
+ # 2. A subset of files $HOME more frequently to ssh://myserver.invalid
+ - name: Work to 'myserver'
+   # Backup every 3 hours
+   backup_interval: 10800
+   # Retry every 15 minutes if unable to connect / unfinished backup
+   retry_interval: 900
+   repository: ssh://myserver.invalid/~/storage/borg
+   archive_prefix: 'work@mylaptop-'
+   archive_template: '{now:%Y-%m-%d_%H:%M:%S}'
+   keychain_account: borg-backup@mylaptop
+   paths:
+    - $HOME/work
+   common_parameters:
+    # Borg is installed on remote host at ~/bin,
+    # which might not be on path
+    - remote-path: ~/bin/borg
+   create_parameters:
+    - compression: lzma
+    - checkpoint-interval: 600
+
+ # 3. Manual backup to external hard drive
  - name: Home to 'backup1'
    # Manual backup
    backup_interval: 0

mercurial