summaryrefslogtreecommitdiffstats
path: root/scrub/e2scrub_fail.in
blob: 6899c47c6a56126746ae61451b325bdd8315da6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash

# Email logs of failed e2scrub unit runs when the systemd service fails.

mntpoint="$1"
test -z "${mntpoint}" && 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="$(systemd-escape --template "e2scrub@.service" --path "${mntpoint}")"

if test -z "${recipient}" ; then
    recipient="root"
fi

if test -z "${sender}" ; then
    sender="<e2scrub@${hostname}>"
fi

(cat << ENDL
To: ${recipient}
From: ${sender}
Subject: e2scrub failure on ${mntpoint}

So sorry, the automatic e2scrub of ${mntpoint} on ${hostname} failed.

A log of what happened follows:
ENDL
systemctl status --full --lines 4294967295 "${service_name}") | sendmail -t -i