#!/bin/bash # ## $Id: se3_update_system.sh 7777 2013-04-22 22:19:39Z keyser $ ## # ##### Permet de faire la mise à jour de debian et se3 ##### # Franck Molle - 05/2006... if [ "$1" = "--help" -o "$1" = "-h" ] then echo "Script permettant la mise a jour du système debian et se3" echo "Usage : sans option pour un mode intéractif ou avec --auto pour le mode muet" exit fi proxy=$(grep "http_proxy=" /etc/profile | head -n 1 | sed -e "s#.*//##;s/\"//") if [ ! -z "$proxy" ]; then export http_proxy="http://$proxy" export https_proxy="http://$proxy" export ftp_proxy="http://$proxy" fi REPORT_FILE="/root/mailtoadmin" echo "" > $REPORT_FILE LADATE=$(date +%x) LADATE2=$(date "+%Y.%m.%d") debug="0" #desactivation debug si =0 MAIL_REPORT() { [ -e /etc/ssmtp/ssmtp.conf ] && MAIL_ADMIN=$(cat /etc/ssmtp/ssmtp.conf | grep root | cut -d= -f2) if [ ! -z "$MAIL_ADMIN" ]; then REPORT=$(cat $REPORT_FILE) #On envoie un mail à l'admin echo "$REPORT" | mail -s "[SE3] Résultat de $0" $MAIL_ADMIN fi } LINE_TEST() { ping -c1 www.google.fr >/dev/null if [ "$?" != "0" ]; then echo "Votre connexion internet ne semble pas fonctionnelle !!" | tee -a $REPORT_FILE MAIL_REPORT exit 1 fi } echo "
" clear echo "************************************" echo "* SCRIPT DE MISE A JOUR SYSTEME *" echo "************************************" echo if [ "$1" == "--auto" ] then ### mode auto : on installe les deps, on repond oui aux questions, on rend debconf silencieux et on lance un permse3 en mode rapide ### option="-y --allow-unauthenticated" PERMSE3_OPTION="--light" DEBIAN_PRIORITY="critical" DEBIAN_FRONTEND="noninteractive" export DEBIAN_FRONTEND else ### mode interactif debconf est moins bavard mais pas muet permse3 sera plus precis mais plus long aussi ### DEBIAN_PRIORITY="critical" PERMSE3_OPTION="--full" fi export DEBIAN_PRIORITY [ "$debug" != "1" ] && apt-get clean USE_SPACE=$(df -hPl | grep "/var$" | awk '{print $5}' | sed -e s/%//) if [ "$USE_SPACE" -le 90 ]; then echo "Résultat de la demande de mise à jour système du $LADATE :" > $REPORT_FILE echo "" >> $REPORT_FILE echo "Mise à jour de la liste des paquets disponibles ....." | tee -a $REPORT_FILE LINE_TEST apt-get update | tee -a $REPORT_FILE echo "" | tee -a $REPORT_FILE echo "Mise a jour des paquets optionnels à se3 si necessaire" | tee -a $REPORT_FILE dpkg -s se3-clamav | grep "Status: install" >/dev/null && apt-get install se3-clamav $option | tee -a $REPORT_FILE dpkg -s se3-dhcp | grep "Status: install" >/dev/null && apt-get install se3-dhcp $option | tee -a $REPORT_FILE dpkg -s se3-clonage | grep "Status: install" >/dev/null && apt-get install se3-clonage $option | tee -a $REPORT_FILE # if [ -e /etc/clamav/freshclam.conf ]; then # mv /etc/clamav/freshclam.conf /etc/clamav/freshclam.conf_sav_se3_$LADATE # apt-get install clamav-freshclam $option # mv /etc/clamav/freshclam.conf_sav_se3_$LADATE /etc/clamav/freshclam.conf # fi # #upgrade se3 apt-get install se3 $option | tee -a $REPORT_FILE #upgrade samba et relancement si maj # TST_SMBMAJ=$(apt-get -s install samba $option | grep "la plus récente version disponible") apt-get install samba $option | tee -a $REPORT_FILE # [ -z "$TST_SMBMAJ" ] && /etc/init.d/samba restart | tee -a $REPORT_FILE #upgrade reste du système apt-get dist-upgrade $option | tee -a $REPORT_FILE echo "" | tee -a $REPORT_FILE echo "Correction de droits si besoin...." | tee -a $REPORT_FILE /usr/share/se3/scripts/permse3 $PERMSE3_OPTION | tee -a $REPORT_FILE # teste si apache a besoin d'etre relancé if [ -z "$(ps aux | grep "apache2se" | grep -v grep)" ]; then echo "Redémarrage d'Apachese" | tee -a $REPORT_FILE /etc/init.d/apache2se start | tee -a $REPORT_FILE fi ### Rajout d'Eric Elter après constatation de l'arrêt des deux services en question après le lancement de ce script # teste si samba a besoin d'etre relancé if [ -z "$(ps aux | grep "smbd" | grep -v grep)" ]; then echo "Redémarrage de Samba" | tee -a $REPORT_FILE /etc/init.d/samba start | tee -a $REPORT_FILE fi # teste si mysql a besoin d'etre relancé if [ -z "$(ps aux | grep "mysqld" | grep -v grep)" ]; then echo "Redémarrage de MySQL" | tee -a $REPORT_FILE /etc/init.d/mysql start | tee -a $REPORT_FILE fi ### Fin de rajout echo "Mise à jour terminée" | tee -a $REPORT_FILE else echo -e "Attention : Mise à jour système impossible :(\nEspace insuffisant sur la partition /var, il reste moins de 10% d'espace libre." | tee -a $REPORT_FILE fi echo "" MAIL_REPORT DEBIAN_PRIORITY="high" DEBIAN_FRONTEND="dialog" export DEBIAN_PRIORITY export DEBIAN_FRONTEND mv $REPORT_FILE /var/log/update_system${LADATE2}.log exit 0