# Script de surveillance des Mises à Jour

**URL:** <https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688>\
**Category:** Trucs et Astuces\
**Created:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688 "2016-02-21T11:28:25Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/1 "2016-02-21T11:28:25Z")

</div>

Salut,  
Je suis tombé sur un petit script très utile pour prévenir des mises à jours: [blog.brachium-system.net/archive … -mail.html](http://blog.brachium-system.net/archives/9-Script-check-for-new-security-updates-with-cron-and-mail.html)

```auto
#!/bin/sh
#Copyright: Jonas Genannt jonas.genannt (AT) capi2name.de
#License: GPL

MAIL_CMD="/usr/bin/mail"
EMAIL_ADDR="admin@karmaweb.biz"
TMPNAME="`mktemp`"

IPADDR="`LC_ALL='en' /sbin/ifconfig eth0 | sed -n -e'/inet addr:/s/^.*inet addr:\([0-9.]*\).*$/\1/p'`"

if [-z ${IPADDR}]; then
IPADDR="`LC_ALL='en' /sbin/ifconfig eth0:1 | sed -n -e'/inet addr:/s/^.*inet addr:\([0-9.]*\).*$/\1/p'`"
fi

if [-z ${IPADDR}]; then
IPADDR=`/bin/hostname -f`
fi

apt-get update > /dev/null

if [`apt-get --just-print upgrade | grep -c -E "^Inst"` -gt "0"]; then

echo -e "apt-get upgrade voudrait mettre à jour les paquets suivants:\n" >> ${TMPNAME}
# Choisir entre les deux options suivantes:
#`apt-get --just-print -u upgrade | grep "^Inst " | awk '{print$2}' >> ${TMPNAME}` # Description courte
`apt-get update >/dev/null; apt-get --simulate --quiet=2 upgrade >> ${TMPNAME}` # Description plus complète
echo -e "\n-------------------------------------\nMises à jour de Sécurité, vous connaissez la musique..." >> ${TMPNAME}
${MAIL_CMD} -s "Mise(s) à jour en attente sur ${IPADDR}" ${EMAIL_ADDR} < ${TMPNAME}
rm -f ${TMPNAME}
fi
```

Voici ce qu’il sort (c’est sur une Sid…)

> [@](#):
>
> ```nohighlight
> Sujet:	Updates available on 10.9.8.2
> Contenu du Message	
> -e apt-get upgrade would like to install these packages:
> 
> debianutils
> e2fslibs
> ...
> synaptic
> os-prober
> -e 
> -------------------------------------
> Security Updates. You know the drill.
> 
> ```

Ricardo va me dire qu’il en a un plus simple qui fonctionne (et c’est vrai…). Mais chez mois il produit un effet indésirable: Il m’envoie un mail vide lorsqu’il n’y a pas de MAJ… Je le met quand même…

```auto
#!/bin/sh
apt-get update >/dev/null; apt-get --simulate --quiet=2 upgrade | mail -e -s "MAJ sur SERVEUR" nom@serveur.xxx
```

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 11:30 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/2 "2016-02-21T11:30:43Z")

</div>

> [@](#):
>
> ```auto
> #!/bin/sh
> apt-get update >/dev/null; apt-get --simulate --quiet=2 upgrade | mail -e -s "MAJ sur SERVEUR" nom@serveur.xxx
> ```

`man mail` m’indique:

> [@](#):
>
> -E Don’t send messages with an empty body.

-E et pas de -e , peut-être est-ce là le “bug” ?

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 21, 2016, 11:30 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/3 "2016-02-21T11:30:46Z")

</div>

non, voici le copié/collé du mien qui n’envoie que lorsqu’il y a MAJ à effectuer :

```auto
ricardo@serveur:~$ cat /usr/local/bin/cronMAJ
#!/bin/sh
apt-get update >/dev/null; apt-get --simulate --quiet=2 upgrade | mail -e -s "MAJ sur SERVEUR" ricardo@rictux.fr
```

les droits qui vont avec la ligne :

```auto
-rwxr-xr-x 1 root staff 124 8 févr. 2011 cronMAJ
```

et le `/etc/crontab` qui va avec, toujours en copié/collé

```auto
# pour etre prevenu des MAJ
01 12 * * * root /usr/local/bin/cronMAJ
```

---

<div class="post-metadata">

**Author:** ![Cluxter](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/13edae/32.png) [@Cluxter](https://www.debian-fr.org/u/Cluxter)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/4 "2016-02-21T11:44:37Z")

</div>

Est-ce qu’il n’existe pas un moyen plus propre de faire cela ? Par exemple récupérer un code du programme, genre 0 = pas de mise à jour, sinon mises à jour disponibles. L’idée est d’avoir quelque chose d’universel quelle que soit la langue et qui soit également évolutif.

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/5 "2016-02-21T11:44:51Z")

</div>

Salut,  
J’ai corrigé une erreur dans une option de send-mail, et traduit en français (ça fait pas de mal…).

---

<div class="post-metadata">

**Author:** ![ggoodluck47](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/c67d28/32.png) [@ggoodluck47](https://www.debian-fr.org/u/ggoodluck47)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/6 "2016-02-21T11:44:54Z")

</div>

Salut,

Pour que ce script soit “complet” pourrais tu nous ajouter le nom du serveur mail à installer 😊

---

<div class="post-metadata">

**Author:** ![lol](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lol/32/15629_2.png) [@lol](https://www.debian-fr.org/u/lol)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/7 "2016-02-21T11:44:54Z")

</div>

> [@](#):
>
> Salut,  
> Pour que ce script soit “complet” pourrais tu nous ajouter le nom du serveur mail à installer 😊

😆

Au choix, Exim ou Postfix…  
Il faut évidemment que l’envoie des mails par la machine soit configuré…

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Juillet 10, 2019, 2:16 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/8 "2019-07-10T14:16:07Z")

</div>

comme de toute façon j’acceptai toujours toutes les mises à jour, je me suis fait mon script lancé au boot par un service Systemd

[https://bidouilledebian.wordpress.com/2019/02/24/update-perso-la-version-2019/](https://bidouilledebian.wordpress.com/2019/02/24/update-perso-la-version-2019/)

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Août 11, 2019, 2:01 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/9 "2019-08-11T14:01:16Z")

</div>

Pourquoi réinventer la roue ?  
apticron + apt-listchanges font parfaitement le travail.

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Août 11, 2019, 3:15 UTC](https://www.debian-fr.org/t/script-de-surveillance-des-mises-a-jour/52688/10 "2019-08-11T15:15:52Z")

</div>

[![](https://img.youtube.com/vi/Vquow-vAVPQ/maxresdefault.jpg "Herbert Léonard "Pour le plaisir" | Archive INA") ](https://www.youtube.com/watch?v=Vquow-vAVPQ)

j’ai même créé une alternative «&nbsp;maj&nbsp;» pour lancer mon script comme une commande 🤣

> **[Gestion des alternatives dans Debian](https://bidouilledebian.wordpress.com/2019/08/11/gestion-des-alternatives-dans-debian/)**
>
> Gestion des liens symboliques dans Debian
