Compare commits

..

4 Commits
main ... dev

Author SHA1 Message Date
Marc Koch fbcc00b070 fix --compression=lz4 2023-09-06 18:01:21 +02:00
Marc Koch 88cb299e03 fix --filter=AME 2023-09-06 18:00:13 +02:00
Marc Koch 0edf08d93e fix borg command 2023-09-06 17:58:05 +02:00
Marc Koch 9092922440 implement an environment variable to exclude stuff 2023-09-06 17:52:22 +02:00
3 changed files with 11 additions and 12 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,7 +32,6 @@ 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
``` ```
@ -115,6 +114,14 @@ 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
@ -128,14 +135,6 @@ 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.
@ -192,7 +191,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+=("::${mode}-backup-{hostname}-{now}" "${BORG_TARGETS[@]}") borg_command+=("::backup-{hostname}-{now}" "${BORG_TARGETS[@]}")
/usr/local/bin/borg "${borg_command[@]}" /usr/local/bin/borg "${borg_command[@]}"