This commit is contained in:
teldra 2021-04-18 21:15:25 +02:00
parent b3124602f8
commit fc5efd6052
5 changed files with 136 additions and 28 deletions

13
files/bash/editor.sh Normal file
View File

@ -0,0 +1,13 @@
if command -v nano > /dev/null; then
e=nano
elif command -v nvim > /dev/null; then
e=nvim
elif command -v vim > /dev/null; then
e=vim
fi
export EDITOR="${e}"
export VISUAL="${e}"
export SUDO_EDITOR="${e}"
unset e

View File

@ -4,11 +4,12 @@ alias xr="sudo xbps-remove -R"
alias xs="xbps-query -Rs"
alias backup="sudo void-backup"
alias snapshot="sudo void-snapshot"
echo "xu = sudo void-update zum updaten"
echo "xi = sudo xbps-install -S zum installieren"
echo "xr = sudo xbps-remove -R zum deinstallieren"
echo "xs = xbps-query -Rs zum suchen"
echo "xu = sudo void-update updaten"
echo "xi = sudo xbps-install -S installieren"
echo "xr = sudo xbps-remove -R deinstallieren"
echo "xs = xbps-query -Rs suchen"
echo ""
echo "backup = sudo void-backup um ein backup zu machen"
echo "snapshot = sudo void-snapshot um ein snapshot zu machen"
echo "backup = sudo void-backup backup machen"
echo "snapshot = sudo void-snapshot snapshot machen"
echo ""

View File

@ -4,8 +4,104 @@ if [ "${UID}" -ne "0" ]; then
exit 1
fi
config() {
echo "Durch Snapshots werden deine Daten regelmässig"
echo "(zur Zeit alle zwei Stunden), ohne mehr Platz"
echo "zu verbrauchen, gedoppelt."
echo "Dieses hilft zb. gegen unbeabsichtigtes löschen von Dateien."
echo "Du kannst aktivieren, das sie regelmässig gemacht werden."
echo "Du kannst aktivieren, das sie vor einem Update gemacht werden."
echo "Es ist sinnvoll dieses zu aktivieren."
echo "Es ist optional, Snapsshots auch für privaten Daten zu aktivieren."
echo "Achtung, Daten werden dadurch erst sehr verzögert gelöscht!"
while read -p "Regelmässige Snapshots aktivieren? [Y/n] " answer; do
test -z "${answer}" && answer="y"
case "${answer}" in
y*|Y*|j*|J*)
if ! grep -q "#void.system" /var/spool/cron/root; then
echo '0 */2 * * * /usr/bin/void-snapshot #void.system' >> /var/spool/cron/root
else
echo "Schon aktiviert."
fi
break
;;
n*|N*)
if grep -q "#void.system" /var/spool/cron/root; then
sed -i '/#void.system/d' /var/spool/cron/root
else
echo "Schon deaktiviert."
fi
break
;;
*) echo "Antwort nicht eindeutig." ;;
esac
done
answer=""
while read -p "Snapshots vor dem Update? [Y/n] " answer; do
test -z "${answer}" && answer="y"
case "${answer}" in
y*|Y*|j*|J*)
if ! grep -q "SNAP_BEFORE_UPDATE" "/etc/void-snapshot.cfg"; then
echo "SNAP_BEFORE_UPDATE=true" >> "/etc/void-snapshot.cfg"
fi
break
;;
n*|N*)
if grep -q "SNAP_BEFORE_UPDATE" "/etc/void-snapshot.cfg"; then
sed -i '/SNAP_BEFORE_UPDATE/d' "/etc/void-snapshot.cfg"
fi
break
;;
*) echo "Antwort nicht eindeutig." ;;
esac
done
answer=""
while read -p "Möchtest du auch deine Privaten Daten Snapshotten? [Y/n] " answer; do
test -z "${answer}" && answer="y"
case "${answer}" in
y*|Y*|j*|J*)
if ! grep -q "SNAP_HOME" "/etc/void-snapshot.cfg"; then
echo "SNAP_HOME=true" >> "/etc/void-snapshot.cfg"
fi
break
;;
n*|N*)
if grep -q "SNAP_HOME" "/etc/void-snapshot.cfg"; then
sed -i '/SNAP_HOME/d' "/etc/void-snapshot.cfg"
fi
break
;;
*) echo "Antwort nicht eindeutig." ;;
esac
done
}
cron=""
update=""
if [ -t 0 ]; then
cron=1
elif [ "${1}" = "update" ]; then
update=1
elif [ "${1}" = "config" ]; then
config
exit
fi
cfg="/etc/btrbk/btrbk.conf.void"
if [ ! -f "/etc/void-snapshot.cfg" ]; then
test -z "${cron}" && exit 0
config || exit
fi
. "/etc/void-snapshot.cfg"
if [ ! "${SNAP_BEFORE_UPDATE}" ] && [ "${update}" ]; then
exit 1
fi
if [ -f /etc/btrbk/btrbk.conf ]; then
btrbk --progress --quiet run snapshot
else
@ -21,30 +117,10 @@ else
done
fi
if [[ "${1}" == "home" ]]; then
if [ "${SNAP_HOME}" ]; then
btrbk --config="${cfg}" --quiet run snapshothomefs
fi
if ! sudo update-grub 2> /dev/null; then
echo update-grub failed
fi
if [ -z "$PS1" ]; then
:
else
echo "System wurde snapshotted."
if [[ ! "${1}" == "home" ]]; then
echo "Private Daten wurden nicht snapshotted."
echo '`void-snaptshot home` um dieses mit zu snapshotten.'
if ! grep "#void.system" /var/spool/cron/root | grep -q "home"; then
echo "Folgender Befehl um das dauerhaft regelmässig zu machen."
echo '`sudo sed -i "s/t #/t home #/" /var/spool/cron/root`'
fi
elif [[ "${1}" == "home" ]]; then
echo "Private Daten wurden mit gesnapshotted."
if ! grep "#void.system" /var/spool/cron/root | grep -q "home"; then
echo "Folgender Befehl um das dauerhaft regelmässig zu machen."
echo '`sudo sed -i "s/t #/t home #/" /var/spool/cron/root`'
fi
fi
fi

19
files/nm/30-wg0 Executable file
View File

@ -0,0 +1,19 @@
#!/bin/sh
INTERFACE=$1
ACTION=$2
if [ -f /etc/wirdeguard/wg0.conf ]; then
if [ ! "$INTERFACE" = "wg0" ]; then
case "$ACTION" in
up)
wg-quick up wg0
# wg set wg0 peer ZJwTV2l+N+vFwL0KFQb5xpAPqwVcf0YvEMFzTaIoAU8= endpoint home.rotce.de:51820
;;
down)
wg-quick down wg0
ip link delete dev wg0
;;
esac
fi
fi

View File

@ -2,7 +2,6 @@ Defaults timestamp_timeout=15
Defaults !tty_tickets
Defaults umask = 022
Defaults passprompt="[sudo] Password: "
Defaults editor = /usr/bin/nvim
Defaults env_keep += "EDITOR"
Defaults env_keep += "SSH_CONNECTION"