1#!/bin/bash 2 3# Email logs of failed e2scrub unit runs when the systemd service fails. 4 5device="$1" 6test -z "${device}" && exit 0 7 8if ! type sendmail > /dev/null 2>&1; then 9 echo "$0: sendmail program not found." 10 exit 1 11fi 12 13if test -f /etc/e2scrub.conf ; then 14 . /etc/e2scrub.conf 15fi 16 17hostname="$(hostname -f 2>/dev/null)" 18test -z "${hostname}" && hostname="${HOSTNAME}" 19service_name="e2scrub@$(systemd-escape ${device})" 20 21if test -z "${recipient}" ; then 22 recipient="root" 23fi 24 25if test -z "${sender}" ; then 26 sender="<e2scrub@${hostname}>" 27fi 28 29(cat << ENDL 30To: ${recipient} 31From: ${sender} 32Subject: e2scrub failure on ${device} 33 34So sorry, the automatic e2scrub of ${device} on ${hostname} failed. 35 36A log of what happened follows: 37ENDL 38systemctl status --full --lines 4294967295 "${service_name}") | sendmail -t -i 39