Watchdog for restic backup
Go to file
Hendrik Schutter dbb15d84b5 updated to mailsend-go 2022-09-01 11:33:56 +02:00
.gitignore backup dir stored in variable; eMail settings in variable 2020-04-25 10:26:18 +02:00
CheckAutoBackup.service added systemd service files and cronjob example 2022-06-20 18:05:34 +02:00
CheckAutoBackup.timer added systemd service files and cronjob example 2022-06-20 18:05:34 +02:00
LICENSE Initial commit 2020-04-24 22:51:11 +02:00
README.md updated to mailsend-go 2022-09-01 11:33:56 +02:00
Screenshot_20200425_112352.png screenshot of email 2020-04-25 11:24:40 +02:00
check_AutoBackup.sh updated to mailsend-go 2022-09-01 11:33:56 +02:00

README.md

Restic-Backend-Watchdog

Watchdog for restic backup that are automatic triggered via an interval

TLDR: Bash script that emails you if your restic backup interval is overdue.

Screenshot of email

How does it work?

The script monitors the backend of a restic backup. The bash script is executed via cronjob or a systemd-timer periodically. The user sets an interval for each restic repo (e.g. your laptop-backup). This is the same interval as the one that triggers the automatic backup from your device. If your automatic backup failed (e.g. no Internet), there will be no changes in den repo. The script will notice that and emails you.

Features

  • runs just with bash
  • no restic authentication needed
  • multiple repos
  • individual interval for each repo
  • custom email server via mailsend
  • loud alarm buzzer via FTDI_simple_alarm

Planned Features

  • Able to determine a failed restic repo task from a successful task

Installation

1. download the check_AutoBackup.sh

2. chmod +x check_AutoBackup.sh

3. install mailsend

4. edit settings in check_AutoBackup.sh

DEBUG="true" #true --> dont send email
timestampFolder="index" #folder for reading timestamp
backupFolder="./backups" #directory that contains all repos

receiverEmail="mailuser@maildomain.tld"
senderEmail="mailuser@maildomain.tld"

5. edit repo settings in check_AutoBackup.sh

repos_name[0]=" first backup repo"
repos_directory[0]="first_repo" #repo in backupFolder
repos_interval[0]=21600 #sec
repos_interval_tolerance[0]=10 #%

6. install crontab or systemd-timer

For systemd see CheckAutoBackup.service and CheckAutoBackup.timer

For corntab see

5 2,8,14,20 * * * /root/check_AutoBackup.sh >/dev/null 2>&

7. optional install FTDI simple alarm

FTDI_simple_alarm

uncomment line 167 in check_AutoBackup.sh