void-bash-installer/files/bin/void-snapshot

74 lines
1.8 KiB
Plaintext
Raw Normal View History

2021-04-15 10:27:27 +02:00
#!/bin/bash
if [ "${UID}" -ne "0" ]; then
echo "Keine Rootrechte."
exit 1
fi
2021-05-07 18:52:50 +02:00
infos() {
2021-05-07 19:41:32 +02:00
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'
2021-04-18 21:15:25 +02:00
}
cron=""
update=""
2021-05-07 19:41:32 +02:00
case $1 in
update)
update=1
word="update"
;;
cron)
cron=1
word="regular"
;;
*)
info
echo "Falscher aufruf"
exit
;;
esac
2021-04-18 11:38:18 +02:00
2021-05-07 18:52:50 +02:00
if [ "$#" -eq "0" ]; then
2021-05-07 19:41:32 +02:00
info
echo "Falscher aufruf"
exit
2021-04-18 21:15:25 +02:00
fi
2021-05-07 18:52:50 +02:00
cfg="/etc/btrbk/btrbk.conf.void"
2021-05-07 19:41:32 +02:00
test -f /etc/void-snapshot.cfg && . /etc/void-snapshot.cfg
2021-04-18 21:15:25 +02:00
2021-05-07 19:41:32 +02:00
if [ "${update}" ]; then
2021-04-18 11:38:18 +02:00
if mountpoint -q /var/lib/backup/quelle/bootfs; then
2021-05-07 18:52:50 +02:00
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"
2021-04-18 15:52:09 +02:00
exit
2021-04-18 18:41:12 +02:00
fi
2021-05-07 18:52:50 +02:00
fi
2021-05-07 19:41:32 +02:00
2021-05-07 18:52:50 +02:00
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
2021-05-07 19:41:32 +02:00
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"
2021-05-07 18:52:50 +02:00
fi
2021-04-18 15:52:09 +02:00
fi
2021-05-07 19:41:32 +02:00