#!/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 "Es wird bei jede volle Stunde vom Betriebsystem ein Snapshot angelegt." echo "So ist das Betriebssystem auch bei Problemen bootbar." echo "Optional kann auch 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" ;; *) infos exit ;; esac if [ "$#" -eq "0" ]; then infos exit fi cfg="/etc/btrbk/btrbk.conf.void" test -f "/etc/btrbk/btrbk.conf" && cfg="/etc/btrbk/btrbk.conf" 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-grub 2> /dev/null; then echo update-grub failed exit fi if [ "${cron}" ]; then test -f /etc/void-snapshot.cfg && . /etc/void-snapshot.cfg if [ "${REGULAR_SNAPSHOT_HOME}" ]; then mkdir -p "/var/lib/backup/quelle/rootfs/system/snapshots/${word}" if ! btrbk --config="${cfg}" --quiet run "${word}home"; then btrbk --config="${cfg}" --quiet clean "${word}home" echo "fail: btrbk --config=${cfg} --quiet clean ${word}home" exit fi fi fi