summaryrefslogtreecommitdiffstats
path: root/scrub/e2scrub_fail.in
blob: 2c0754a9965c09c145b070ec881b548e5136c1c1 (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.

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="<e2scrub@${hostname}>"
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