#!/bin/bash if [ "${UID}" -ne "0" ]; then echo "Keine Rootrechte." exit 1 fi infos() { echo "Snapshots sind Kopien der Dateien die keinen zusätzlichen Platz" echo "benötigen." echo "Es wird bei jedem Update vom Betriebsystem ein Snapshot angelegt." echo "So ist das Betriebssystem auch bei Problemen bootbar." echo "Optional kann jede Stunde ein Snapshot der persönlichen Daten" echo "angelegt werden. Dann verliert man bei versehentlichem löschen" echo "maximal die Arbeit einer Stunde." echo "Dafuer folgendes im Terminal ausführen:" echo 'echo REGULAR_SNAPSHOT_HOME=1 | sudo tee /etc/void-snapshot.cfg' } cron="" update="" case $1 in update) update=1 word="update" ;; cron) cron=1 word="regular" ;; *) info echo "Falscher aufruf" exit ;; esac if [ "$#" -eq "0" ]; then info echo "Falscher aufruf" exit fi cfg="/etc/btrbk/btrbk.conf.void" test -f /etc/void-snapshot.cfg && . /etc/void-snapshot.cfg if [ "${update}" ]; then if mountpoint -q /var/lib/backup/quelle/bootfs; then mkdir -p "/var/lib/backup/quelle/bootfs/system/snapshots/${word}" if ! btrbk --config="${cfg}" --quiet run "${word}boot"; then btrbk --config="${cfg}" --quiet clean "${word}boot" echo "fail: btrbk --config=${cfg} --quiet run ${word}boot" exit fi fi mkdir -p "/var/lib/backup/quelle/rootfs/system/snapshots/${word}" if ! btrbk --config="${cfg}" --quiet run "${word}root"; then btrbk --config="${cfg}" --quiet clean "${word}root" echo "fail: btrbk --config=${cfg} --quiet run ${word}root" exit fi if [ "${update}" ]; then if ! update-grub 2> /dev/null; then echo update-grub failed fi fi elif [ "${cron}" ]; then if [ "${REGULAR_SNAPSHOT_HOME}" ]; then mkdir -p "/var/lib/backup/quelle/rootfs/system/snapshots/${word}" btrbk --config="${cfg}" --quiet run "${word}home" fi fi