Revert "restic isn't usable for me yet"
This reverts commit 28ad0db799.
This commit is contained in:
7
restic/.bin/restic_backup
Executable file
7
restic/.bin/restic_backup
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source $HOME/.bin/restic_common
|
||||||
|
|
||||||
|
info "Starting backup"
|
||||||
|
restic -r $RESTIC_REPOSITORY unlock
|
||||||
|
restic --cache-dir $CACHE_DIR -r $RESTIC_REPOSITORY backup $BACKUP_PATHS $BACKUP_EXCLUDES
|
||||||
50
restic/.bin/restic_common
Executable file
50
restic/.bin/restic_common
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
read_config() {
|
||||||
|
# variables
|
||||||
|
|
||||||
|
#CACHE_DIR="$HOME/.cache/restic"
|
||||||
|
#BACKUP_PATHS="/etc /home/docker/volumes /root"
|
||||||
|
#BACKUP_EXCLUDES="-e /home/docker/volumes/syncthing"
|
||||||
|
#KEEP_HOURS=96
|
||||||
|
#KEEP_DAYS=31
|
||||||
|
#KEEP_WEEKS=8
|
||||||
|
#KEEP_MONTHS=12
|
||||||
|
#KEEP_YEARS=3
|
||||||
|
#RESTIC_REPOSITORY="b2:backup"
|
||||||
|
#RESTIC_PASSWORD="PASSWORD"
|
||||||
|
#B2_ACCOUNT_ID="ID"
|
||||||
|
#B2_ACCOUNT_KEY="KEY"
|
||||||
|
|
||||||
|
if [[ ! -f "/etc/restic/env" && ! -f "$HOME/.config/restic/env" && ! -f "./env" ]]; then
|
||||||
|
echo "no config provided"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
source ./env 2> /dev/null || source $HOME/.config/restic/env 2> /dev/null || source /etc/restic/env 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
info() { printf "\n\e[1m%s\e[0m\n" "$*" >&2; }
|
||||||
|
|
||||||
|
info "Testing if restic is already running..."
|
||||||
|
if pgrep -x "restic" &> /dev/null; then
|
||||||
|
echo "Restic is already runnning"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
info "Testing connection..."
|
||||||
|
ping -c 3 192.168.178.100 &> /dev/null
|
||||||
|
|
||||||
|
if [[ $? > 0 ]]; then
|
||||||
|
|
||||||
|
ping -c 3 1.1.1.1 &> /dev/null
|
||||||
|
|
||||||
|
if [[ $? > 0 ]]; then
|
||||||
|
info "Not connected."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
read_config
|
||||||
11
restic/.bin/restic_prune
Executable file
11
restic/.bin/restic_prune
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source $HOME/.bin/restic_common
|
||||||
|
|
||||||
|
info "Forgetting snapshots"
|
||||||
|
restic -r $RESTIC_REPOSITORY unlock
|
||||||
|
restic --cache-dir $CACHE_DIR -r $RESTIC_REPOSITORY forget --keep-hourly $KEEP_HOURS --keep-daily $KEEP_DAYS --keep-weekly $KEEP_WEEKS --keep-monthly $KEEP_WEEKS --keep-yearly $KEEP_YEARS
|
||||||
|
|
||||||
|
info "Pruning snapshots"
|
||||||
|
restic -r $RESTIC_REPOSITORY unlock
|
||||||
|
restic --cache-dir $CACHE_DIR -r $RESTIC_REPOSITORY prune
|
||||||
10
restic/.config/systemd/user/restic-backup.service
Normal file
10
restic/.config/systemd/user/restic-backup.service
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=borg backup
|
||||||
|
Before=restic-prune.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=%h/.bin/restic_backup
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
10
restic/.config/systemd/user/restic-backup.timer
Normal file
10
restic/.config/systemd/user/restic-backup.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=restic backup
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
Persistent=true
|
||||||
|
OnCalendar=hourly
|
||||||
|
Unit=restic-backup.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
10
restic/.config/systemd/user/restic-prune.service
Normal file
10
restic/.config/systemd/user/restic-prune.service
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=prune borg snapshots
|
||||||
|
After=restic-backup.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=%h/.bin/restic_prune
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
10
restic/.config/systemd/user/restic-prune.timer
Normal file
10
restic/.config/systemd/user/restic-prune.timer
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=prune restic snapshots
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
Persistent=true
|
||||||
|
OnCalendar=daily
|
||||||
|
Unit=restic-prune.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
Reference in New Issue
Block a user