Compare commits

..

4 Commits
dev ... main

3 changed files with 12 additions and 11 deletions

View File

@ -15,7 +15,7 @@ export BORG_PASSPHRASE="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
export BORG_TARGETS=("$HOME") export BORG_TARGETS=("$HOME")
# Exclude directories and files # Exclude directories and files
export BORG_EXCLUDE=("$HOME/.config/borg" "$HOME/.cache" "'*.db'") export BORG_EXCLUDE=("$HOME/.config/borg" "$HOME/.cache" "*.db")
# [optional] Use a ntfy service to publish backup results # [optional] Use a ntfy service to publish backup results
# export NTFY=true # export NTFY=true

View File

@ -32,6 +32,7 @@ sudo apt-get install libfuse3-dev fuse3 # needed for pyfuse311
Prepare virutal environment. Prepare virutal environment.
```bash ```bash
sudo apt install python3-venv
sudo mkdir /opt/borg && cd /opt/borg sudo mkdir /opt/borg && cd /opt/borg
sudo python3 -m venv borg-venv sudo python3 -m venv borg-venv
``` ```
@ -114,14 +115,6 @@ nano $HOME/.borg-env
- Set a strong passphrase - Set a strong passphrase
- Define everything you want to include in your backup as an **absolute path** in the `BORG_TARGETS` array - Define everything you want to include in your backup as an **absolute path** in the `BORG_TARGETS` array
### Publish backup result via _nfty_
You can use a [_ntfy_](https://docs.ntfy.sh/) instance to publish the result of your backup process to a _ntfy_ topic. Just set the corresponding environment variables in the `.borg-env`:
- Set `NTFY` to `true`
- Set `NTFY_URL` to the URL of your preferred _ntfy_ instance including the desired topic, e.g. `"https://ntfy.sh/myborgbackup"`
- Set your _ntfy_ token if necessary
Make the script executable. Make the script executable.
```bash ```bash
@ -135,6 +128,14 @@ cd /usr/local/bin
ln -s /opt/borgbackup/borgbackup.sh borgbackup ln -s /opt/borgbackup/borgbackup.sh borgbackup
``` ```
### Publish backup result via _nfty_
You can use a [_ntfy_](https://docs.ntfy.sh/) instance to publish the result of your backup process to a _ntfy_ topic. Just set the corresponding environment variables in the `.borg-env`:
- Set `NTFY` to `true`
- Set `NTFY_URL` to the URL of your preferred _ntfy_ instance including the desired topic, e.g. `"https://ntfy.sh/myborgbackup"`
- Set your _ntfy_ token if necessary
### Logs ### Logs
Create a logfile with read and write permissions for every user. Create a logfile with read and write permissions for every user.
@ -191,7 +192,7 @@ The scheduled backups can be automated by using `cron`.
To create scheduled backups, place this line in your `crontab` (edit with `crontab -e`): To create scheduled backups, place this line in your `crontab` (edit with `crontab -e`):
``` ```
0 3 * * * export BORG_RSH='ssh -oBatchMode=yes' && /usr/local/bin/borgbackup auto /dev/null 2>&1 0 3 * * * export BORG_RSH='ssh -oBatchMode=yes' && /usr/local/bin/borgbackup auto > /dev/null 2>&1
``` ```
## Using `borg` ## Using `borg`

View File

@ -58,7 +58,7 @@ exclude() {
borg_command=("create" "--verbose" "--filter=AME" "--list" "--stats" "--show-rc" "--compression=lz4" "--exclude-caches") borg_command=("create" "--verbose" "--filter=AME" "--list" "--stats" "--show-rc" "--compression=lz4" "--exclude-caches")
borg_command+=($(exclude)) borg_command+=($(exclude))
borg_command+=("::backup-{hostname}-{now}" "${BORG_TARGETS[@]}") borg_command+=("::${mode}-backup-{hostname}-{now}" "${BORG_TARGETS[@]}")
/usr/local/bin/borg "${borg_command[@]}" /usr/local/bin/borg "${borg_command[@]}"