scripts/monitoring/update.sh

40 lines
1.5 KiB
Bash

#!/bin/bash
## Utilisation ##
# cat /var/log/update.log pour voir les logs
# sudo bash update.sh afin de l'utiliser directement
# Colors
green='\033[0;32m'
orange='\033[0;33m'
red='\033[0;31m'
reset='\033[0m'
# Update and log
echo "Mise à jour des paquets..."
apt update > /dev/null 2>&1
echo "Dernière MAJ : $(date +'%d/%m %H:%M')" > /var/log/update.log
update=$(apt --just-print upgrade 2>/dev/null | grep 'Inst' | wc -l)
message="$update mises à jour peuvent être appliquées immédiatement"
if [ "$update" -ne 0 ]; then
if [ "$update" -lt 2 ]; then
echo -e "${green}$update mise à jour peut être appliquée immédiatement${reset}" | tee -a /var/log/update.log
elif [ "$update" -lt 10 ]; then
echo -e "${green}$message${reset}" | tee -a /var/log/update.log
elif [ "$update" -lt 20 ]; then
echo -e "${orange}$message${reset}" | tee -a /var/log/update.log
elif [ "$update" -ge 20 ]; then
echo -e "${red}$message${reset}" | tee -a /var/log/update.log
fi
else
echo -e "${green}Tous les paquets sont à jour${reset}" | tee -a /var/log/update.log
fi
security=$(apt --just-print upgrade 2>/dev/null | grep 'Inst' | grep -i security | wc -l)
if [ "$security" -ne 0 ]; then
echo -e "${red}$security de ces mises à jour sont des mises à jour de sécurité${reset}" | tee -a /var/log/update.log
fi
if [ -f /var/run/reboot-required ]; then
echo -e "${orange}Un redémarrage est requis pour finaliser les mises à jour${reset}" | tee -a /var/log/update.log
fi