Add mailevomaintenance.sh along with a cron (disabled by default) in the OpenBSD task to send a mail everyday if something's not commited in /etc
This commit is contained in:
parent
38a905dd8d
commit
d8d4924b5c
2 changed files with 48 additions and 0 deletions
|
@ -45,3 +45,23 @@
|
|||
force: "{{ evomaintenance_force_config | bool }}"
|
||||
tags:
|
||||
- evomaintenance
|
||||
|
||||
- name: Copy mailevomaintenance
|
||||
template:
|
||||
src: mailevomaintenance.sh.j2
|
||||
dest: /usr/share/scripts/mailevomaintenance.sh
|
||||
owner: root
|
||||
group: wheel
|
||||
mode: "0700"
|
||||
tags:
|
||||
- evomaintenance
|
||||
|
||||
- name: Add mailevomaintenance cron
|
||||
cron:
|
||||
name: "mailevomaintenance"
|
||||
job: "/usr/share/scripts/mailevomaintenance.sh"
|
||||
minute: "50"
|
||||
hour: "22"
|
||||
disabled: yes
|
||||
tags:
|
||||
- mailevomaintenance
|
||||
|
|
28
evomaintenance/templates/mailevomaintenance.sh.j2
Normal file
28
evomaintenance/templates/mailevomaintenance.sh.j2
Normal file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
cd /etc && _STATUS=$(/usr/local/bin/git status --porcelain)
|
||||
[ -n "${_STATUS}" ] || exit 0
|
||||
|
||||
if [ -e /etc/realname ]; then
|
||||
_HOSTNAME=$(/bin/cat /etc/realname)
|
||||
else
|
||||
_HOSTNAME=$(/bin/hostname)
|
||||
fi
|
||||
|
||||
|
||||
TMPFILE=$(/usr/bin/mktemp) || exit 1
|
||||
echo "Dear NOC,\n\nSome changes in /etc/ were not committed." >> $TMPFILE
|
||||
|
||||
echo "" >> $TMPFILE
|
||||
echo "${_STATUS}" >> $TMPFILE
|
||||
|
||||
echo "" >> $TMPFILE
|
||||
/usr/bin/last | head -n 10 >> $TMPFILE
|
||||
echo "" >> $TMPFILE
|
||||
echo "Please answer this mail to notify people when you've corrected the problem." >> $TMPFILE
|
||||
|
||||
/bin/cat $TMPFILE | mail -s "Verif etc-git ${_HOSTNAME}" noc@{{ evomaintenance_realm }}
|
||||
|
||||
/bin/rm $TMPFILE
|
Loading…
Add table
Reference in a new issue