55 lines
1.7 KiB
Markdown
55 lines
1.7 KiB
Markdown
# ha-backup v3.2.0
|
|
|
|
Go port of `home_assistant_backup.sh`. Uses the same `home_assistant_backup.conf`.
|
|
|
|
## Build
|
|
CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o ha-backup .
|
|
|
|
Override the version at build time if needed:
|
|
CGO_ENABLED=0 go build -trimpath -ldflags="-s -w -X main.version=3.1.2" -o ha-backup .
|
|
|
|
Check the version:
|
|
./ha-backup -version
|
|
|
|
Cross-compile examples:
|
|
GOOS=linux GOARCH=amd64 go build -o ha-backup-linux-amd64 .
|
|
GOOS=linux GOARCH=arm64 go build -o ha-backup-linux-arm64 . # Raspberry Pi / ARM NAS
|
|
|
|
|
|
## Logging
|
|
|
|
ha-backup writes a log to `/var/log/ha-backup.log` by default. Each line is timestamped, and the file is appended to on every run. The same output is still printed to the console.
|
|
|
|
### Create the log file
|
|
|
|
Writing to `/var/log` requires elevated permissions, so create the file once and give ownership to the user that runs the backup. Replace `backupuser` with that user (use `root` if you run it as root):
|
|
|
|
|
|
If you'd rather do it in steps:
|
|
|
|
```
|
|
sudo touch /var/log/ha-backup.log
|
|
sudo chown backupuser:backupuser /var/log/ha-backup.log
|
|
sudo chmod 640 /var/log/ha-backup.log
|
|
```
|
|
|
|
If the log file can't be opened, ha-backup prints a warning and continues the backup without file logging.
|
|
|
|
### Change or disable the log location
|
|
|
|
Set `LOG_FILE` in `home_assistant_backup.conf`:
|
|
|
|
```bash
|
|
LOG_FILE="/var/log/ha-backup.log" # default
|
|
LOG_FILE="/home/backupuser/ha-backup.log" # custom path
|
|
LOG_FILE="none" # disable file logging
|
|
```
|
|
|
|
|
|
## Run
|
|
./ha-backup # looks for home_assistant_backup.conf next to the binary, then in cwd
|
|
./ha-backup -config /path/to.conf
|
|
|
|
|
|
Requires `ssh` and `scp` on the machine running it. `jq` and `yq` are no longer needed.
|