40 lines
1.5 KiB
Bash
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 |