mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-23 18:14:25 +08:00
e2scrub: make e2scrub_fail's e-mail addresses be configurable
Allow the sender and recipient e-mail addresses be configurable from /etc/e2scrub.conf. Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
198cbd4595
commit
48cc00797c
@ -1,5 +1,13 @@
|
||||
# e2scrub configuration file
|
||||
|
||||
# e-mail destination used by e2scrub_fail when problems are found with
|
||||
# the file system.
|
||||
# recipient=root
|
||||
|
||||
# e-mail sender used by e2scrub_fail when problems are found with
|
||||
# the file system.
|
||||
# sender=e2scrub@host.domain.name
|
||||
|
||||
# Snapshots will be created to run fsck; the snapshot will be of this size.
|
||||
# snap_size_mb=256
|
||||
|
||||
|
@ -2,24 +2,37 @@
|
||||
|
||||
# Email logs of failed e2scrub unit runs when the systemd service fails.
|
||||
|
||||
recipient="$1"
|
||||
test -z "${recipient}" && exit 0
|
||||
device="$2"
|
||||
device="$1"
|
||||
test -z "${device}" && exit 0
|
||||
hostname="$(hostname -f 2>/dev/null)"
|
||||
test -z "${hostname}" && hostname="${HOSTNAME}"
|
||||
|
||||
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: $1
|
||||
From: <e2scrub@${hostname}>
|
||||
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 "e2scrub@${device}") | sendmail -t -i
|
||||
systemctl status --full --lines 4294967295 "${service_name}") | sendmail -t -i
|
||||
|
@ -4,8 +4,7 @@ Documentation=man:e2scrub(8)
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
Environment=EMAIL_ADDR=root
|
||||
ExecStart=@pkglibdir@/e2scrub_fail "${EMAIL_ADDR}" %I
|
||||
ExecStart=@pkglibdir@/e2scrub_fail "%I"
|
||||
User=mail
|
||||
Group=mail
|
||||
SupplementaryGroups=systemd-journal
|
||||
|
Loading…
Reference in New Issue
Block a user