Compare commits
4 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
fbcc00b070 | |
|
|
88cb299e03 | |
|
|
0edf08d93e | |
|
|
9092922440 |
|
|
@ -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
|
||||||
|
|
|
||||||
19
README.md
19
README.md
|
|
@ -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`
|
||||||
|
|
|
||||||
|
|
@ -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[@]}"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue