#!/bin/bash # Email logs of failed e2scrub unit runs when the systemd service fails. device="$1" test -z "${device}" && exit 0 if ! type sendmail > /dev/null 2>&1; then echo "$0: sendmail program not found." exit 1 fi if test -f /etc/e2scrub.conf ; then . /etc/e2scrub.conf fi hostname="$(hostname -f 2>/dev/null)" test -z "${hostname}" && hostname="${HOSTNAME}" service_name="e2scrub@$(systemd-escape ${device})" if test -z "${recipient}" ; then recipient="root" fi if test -z "${sender}" ; then sender="" fi (cat << ENDL To: ${recipient} From: ${sender} Subject: e2scrub failure on ${device} So sorry, the automatic e2scrub of ${device} on ${hostname} failed. A log of what happened follows: ENDL systemctl status --full --lines 4294967295 "${service_name}") | sendmail -t -i