From b185519ab94adb59734f40267c80f93f3ef88b2b Mon Sep 17 00:00:00 2001 From: Max Christian Pohle Date: Sat, 11 Jul 2020 23:35:23 +0200 Subject: Improved error messages --- systemd-zfs-partition-backup.sh | 32 ++++++++++++++++++++----------- systemd-zfs-partition-backup/AUR/PKGBUILD | 13 +++++++++---- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/systemd-zfs-partition-backup.sh b/systemd-zfs-partition-backup.sh index e40c241..aa3951f 100755 --- a/systemd-zfs-partition-backup.sh +++ b/systemd-zfs-partition-backup.sh @@ -1,16 +1,6 @@ #!/usr/bin/bash # Written in 2020 by Max Christian Pohle -# check for a configuration file and source it in if its there -test -f /etc/default/systemd-zfs-partition-backup &&\ - source /etc/default/systemd-zfs-partition-backup - -DISK_NAME=$1 -DISK_NAME_ESCAPED=$(systemd-escape "$DISK_NAME") - -logger "Disk: $DISK_NAME" -logger " : $DISK_NAME_ESCAPED (escaped)" - function beep() { test -f /usr/bin/beep &&\ env -u SUDO_GID -u SUDO_COMMAND -u SUDO_USER -u SUDO_UID /usr/bin/beep $@ @@ -34,9 +24,29 @@ function stop() { } + +# check for a configuration file and source it in if its there +test -f /etc/default/systemd-zfs-partition-backup &&\ + source /etc/default/systemd-zfs-partition-backup + +DISK_NAME=$1 +DISK_NAME_ESCAPED=$(systemd-escape "$DISK_NAME") + +logger "Disk: $DISK_NAME" +logger " : $DISK_NAME_ESCAPED (escaped)" + +DATASETS_WITH_DISKNAME=$(zfs list -H -o name | grep $DISK_NAME) + + +[ -z "$DATASETS_WITH_DISKNAME" ] &&\ + (fail "no datasets found with name $DISK_NAME. Please create some." ; exit 1) + +logger "Datasets: $DATASETS_WITH_DISKNAME" + # iterate over all datasets -for i in $(zfs list -H -o name); +for i in ${DATASETS_WITH_DISKNAME[@]}; do + logger "assertion: $(basename $i) == $DISK_NAME" # compare the 'tail' of the PATH against the disk name... if [ "$(basename $i)" == "$DISK_NAME" ]; then start $DISK_NAME diff --git a/systemd-zfs-partition-backup/AUR/PKGBUILD b/systemd-zfs-partition-backup/AUR/PKGBUILD index 3d76738..8150e9b 100644 --- a/systemd-zfs-partition-backup/AUR/PKGBUILD +++ b/systemd-zfs-partition-backup/AUR/PKGBUILD @@ -13,12 +13,17 @@ depends=( 'mkinitcpio' ) source=("http://git.entwicklerseite.de/zfs-bash-tools/snapshot/zfs-bash-tools-master.tar.gz") -sha256sums=('a8636f9fba3129feb07075daa802b47d6c338d35823a9bb8e3685efa799d1c3a') +sha256sums=('a6089d8abb9c5a433f0f1513194b726f7c6072849891e1922cd664be79cc4df0') package() { - install -D zfs-bash-tools-master/${pkgname}.sh ../pkg/${pkgname}/usr/bin/${pkgname}.sh - install -D zfs-bash-tools-master/${pkgname}/systemd/${pkgname}\@.service ../pkg/${pkgname}/usr/lib/systemd/system/${pkgname}.service - install -D zfs-bash-tools-master/${pkgname}/udev/rules.d/90-${pkgname}.rules ../pkg/${pkgname}/etc/udev/rules.d/99-${pkgname}.rules + install -D zfs-bash-tools-master/${pkgname}.sh \ + ../pkg/${pkgname}/usr/bin/${pkgname}.sh + + install -D -m 644 zfs-bash-tools-master/${pkgname}/systemd/${pkgname}\@.service \ + ../pkg/${pkgname}/usr/lib/systemd/system/${pkgname}\@.service + + install -D -m 644 zfs-bash-tools-master/${pkgname}/udev/rules.d/90-${pkgname}.rules \ + ../pkg/${pkgname}/etc/udev/rules.d/90-${pkgname}.rules } # vim: ft=bash -- cgit v1.2.3