ansible-roles/newkernel/templates/newkernel.sh.j2
Benoît S. a66f736cfe
Some checks reported errors
continuous-integration/drone/pr Build encountered an error
continuous-integration/drone/push Build is passing
newkernel: No accent in subject
2019-08-22 17:59:26 +02:00

69 lines
2.1 KiB
Django/Jinja

#!/bin/bash
set -e
configFile="/etc/evolinux/newkernel.cnf"
template=$(mktemp --tmpdir=/tmp evoupdate.XXX)
clientmail=$(grep EVOMAINTMAIL /etc/evomaintenance.cf | cut -d'=' -f2)
mailto=$clientmail
# By default, plan the reboot next month thursday
date="$(date --date="next thursday + 3 weeks" +%A\ %d\ %B)"
hour="entre 18h00 et 23h00"
hostname=$(grep HOSTNAME /etc/evomaintenance.cf | cut -d'=' -f2)
hostname=${hostname%%.evolix.net}
# If hostname is composed with -, remove the first part.
if [[ $hostname =~ "-" ]]; then
hostname=$(echo $hostname | cut -d'-' -f2-)
fi
# Edit $configFile to override some variables.
[ -r $configFile ] && . $configFile
# Remove temporary files on exit.
trap "rm $template" EXIT
# No updates? Exit!
nextKernel=$(grep -m1 -aEo "#1 SMP Debian .* \([0-9]{4}-[0-9]{2}-[0-9]{2}\)" /vmlinuz)
currentKernel=$(uname -v)
if [ "$nextKernel" = "$currentKernel" ]; then
exit 0
fi
#To: ${clientmail}
cat << EOT > $template
Content-Type: text/plain; charset="utf-8"
Reply-To: equipe@evolix.fr
From: equipe@evolix.net
To: $clientmail
Subject: Prochain creneau pour redemarrage de votre serveur $hostname
X-Date: $date
Bonjour,
Le noyau de votre serveur doit être mis à jour. Pour cela nous devons
redémarrer votre machine ${hostname}.
Sauf indication contraire de votre part, le prochain créneau prévu pour
mettre à jour le noyau de votre serveur est :
Le ${date}, ${hour}.
Si nous intervenons, un redémarrage complet du serveur sera réalisé, entraînant
plusieurs minutes de coupures. Nous nous assurerons de vérifier le bon
démarrage de la machine ainsi que de ses services. Si nous ne sommes pas
intervenus sur ce créneau, vous recevrez une nouvelle notification le mois
prochain.
Votre version actuelle du noyau : $currentKernel
Après redémarrage votre version sera : $nextKernel
N'hésitez pas à nous faire toute remarque sur ce créneau d'intervention le plus
tôt possible.
Cordialement,
--
Équipe Evolix <equipe@evolix.fr>
Evolix - Hébergement et Infogérance Open Source http://www.evolix.fr/
EOT
<$template /usr/sbin/sendmail $mailto