-
Notifications
You must be signed in to change notification settings - Fork 0
python script to manage borg repo
License
mutable-dan/borgrunner
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
**automate borg backups using a yaml config file example usage: ./borgrunner.py borg.yaml info ./borgrunner.py borg.yaml backup ./borgrunner.py borg.yaml info backup prune info using keys on remote repo: ./borgrunner.py {yaml file} [commands...] options commands: backup prune info list not implimented yet: check fullcheck, mount, umount, break-lock options: -h, --help show help message -P PASSWORD, --password PASSWORD passphrase for repo keyfile, can override borgPass -i path to ssh key for remote repository, can override sshKey -v, --verbose verbose mode -l LOGPATH, --logpath LOGPATH log path example: ./borgrunner.py borg.yaml info list ./borgrunner.py borg.yaml info backup info ./borgrunner.py borg.yaml list -P password -i /home/uid/.ssh/borg-key where -i -> path to private key -P -> passphase to key sample yaml using ssh ================================================= --- repos: url: uid@borg:repo borgPass: 'optional pass' borgPass64: 'optional encoded pass' use borgPass xor borgPass64. if both used, encoded will take precidence sshKey: 'optional path' dryrun: false archive: # documnents # -------------------------- - prefixName: "documents-" postfixName: "{now:%Y-%m-%dT%H:%M:%S}" backup: flags: [ -s, --list, --filter, AME,--one-file-system ] includes: [ '/home/uid/documents/' ] exclude-files: [ "/home/uid/scripts/exclude" ] info: flags [ --sort-by name ] list: flags: [ --sort-by name ] prune: usePrefix: true flags: [ "--stats", "--list", "--save-space" ] keep: { "keep-daily" : 14, "keep-weekly" : 8, "keep-monthly": 6, "keep-yearly" : 2 } # development # -------------------------- - prefixName: "dev-" postfixName: "{now:%Y-%m-%dT%H:%M:%S}" backup: flags: [ -s, --list, --filter, AME,--one-file-system ] includes: [ '/home/uid/dev/' ] excludes: [ '/home/uid/dev/projA', '/home/uid/dev/projB' ] exclude-files: [ '/home/uid/scripts/dev-exclude', '/home/uid/scripts/exclude' ] info: flags [ --sort-by name ] list: flags: [ --sort-by name ] prune: usePrefix: true flags: [ "--stats", "--list", "--save-space" ] keep: { "keep-daily" : 7, "keep-weekly" : 8, "keep-monthly": 12, "keep-yearly" : 2 } ... ================================================= running using keyfile encryption and ssh private key with no passphrase ./borgrunner.py borg.yaml info backup prune info -P 1234 -i /home/uid/.ssh/key if sshkey file path is in yaml and passphrase is encoded in yaml: ./borgrunner.py borg.yaml info backup prune info
About
python script to manage borg repo
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published