Um das Ganze jetzt rund zu machen, brauchen wir ein Script, was die Daten sichert. Nach der Sicherung uns die Daten testet und bei einem Fehler eine Ausgabe in ein Logfile macht.

Ok, also manipulieren wir ein File um den Fehler abfangen zu können.

./check.sh
using temporary cache in /tmp/restic-check-cache-068904630
password is correct
create exclusive lock for repository
load indexes
check all packs
check snapshots, trees and blobs
error: load <snapshot/a82ece8693>: invalid data returned
read all data
[0:00] 100.00% 3 / 3 items
duration: 0:00
Fatal: repository contains errors
Abgebrochen

 

Den Snapshot a82.... habe ich manipuliert, eine Fehlermeldung "Abgebrochen" gebe ich auch schon aus. Das File sieht so aus.

#!/bin/bash
# Script um mit Restic & Rclone Daten zu checken!

# PW hinterlegen
export RESTIC_PASSWORD=12345678

restic -r rclone:nextcloud:Daten check --read-data
failcode=$?

d='date +%d.%m.%Y_%H:%M:%S'

if [ $failcode != 0 ]
then
echo $d "Ein Fehler ist aufgetreten!" >> /home/frank/restic.log
fi

 

Bei einem Fehler wird geloggt. Ausgabe:

27.04.2018_22:13:51 Ein Fehler ist aufgetreten!
27.04.2018_22:14:35 Ein Fehler ist aufgetreten!

 

Das Ganze basteln wir jetzt mit dem Backup-Script zusammen.

#!/bin/bash
# Script um mit Restic & Rclone Daten automatisiert zu sichern!

# Repo definieren und PW hinterlegen
export RESTIC_PASSWORD=12345678

#Was soll gesichert werden?
backup_pfad=/media/

#Programm Start
restic -r rclone:nextcloud:TEST backup $backup_pfad
restic -r rclone:nextcloud:TEST check --read-data

failcode=$?
d='date +%d.%m.%Y_%H:%M:%S'

if [ $failcode != 0 ]
then
echo $d "Ein Fehler ist aufgetreten!" >> /home/frank/restic.log
fi

 

Done! ?