backy/README.md
Andrew e2f4553303 A runnable command
- Added backup sub-command
- Added better parsing for config file
- Basis for notifications, no running after a command yet
- Updated docs and added License
2023-01-17 00:55:28 -06:00

92 lines
1.9 KiB
Markdown

# Backy - an application to manage backups
This app is in development, and is currently not stable. Expect core functionality to possiblly break.
To install: `go install git.andrewnw.xyz/CyberShell/backy`
If you leave the config path blank, the following paths will be searched in order:
- `./backy.yaml`
- `~/.config/backy.yaml`
Create a file at `~/.config/backy.yaml`:
```yaml
commands:
stop-docker-container:
cmd: docker
cmdArgs:
- compose
- -f /some/path/to/docker-compose.yaml
- down
# if host is not defined,
host: some-host
env: ~/path/to/env/file
backup-docker-container-script:
cmd: /path/to/script
host: some-host
env: ~/path/to/env/file
shell-cmd:
cmd: rsync
shell: bash
cmdArgs:
- -av some-host:/path/to/data ~/Docker/Backups/docker-data
hostname:
cmd: hostname
cmd-configs:
# this can be any name you want
cmds-to-run:
# all commands have to be defined
order:
- stop-docker-container
- backup-docker-container-script
- shell-cmd
- hostname
notifications:
- matrix
hostname:
order:
- hostname
notifications:
- prod-email
hosts:
some-host:
config:
usefile: true
user: root
private-key-path:
logging:
verbose: true
file: /path/to/logs/commands.log
notifications:
prod-email:
id: prod-email
type: mail
host: yourhost.tld
port: 587
senderAddress: email@domain.tld
to:
- admin@domain.tld
username: smtp-username@domain.tld
password: your-password-here
matrix:
id: matrix
type: matrix
homeserver: your-home-server.tld
room-id: room-id
access-token: your-access-token
user-id: your-user-id
```
To run a config:
```backy backup ```
Or to use a specific file:
```backy backup -c /path/to/file```
Note, let me know if a path lookup fails due to using Go's STDLib `os`