[mise à jour] en être averti (résolu)
[mise à jour] en être averti (résolu)
Bonjour,
j'ai un mini serveur (Linux Plugbox 2.6.36 dérivé d'archlinux) sur lequel je me connecte rarement.
Est il possible de lui faire envoyer un mail lorsqu'il y a une mise à jour ?
Merci pour votre aide
j'ai un mini serveur (Linux Plugbox 2.6.36 dérivé d'archlinux) sur lequel je me connecte rarement.
Est il possible de lui faire envoyer un mail lorsqu'il y a une mise à jour ?
Merci pour votre aide
Dernière modification par Oldan le jeu. 25 nov. 2010, 17:07, modifié 1 fois.
Re: [mise à jour] en être averti (...)
salut, un cron avec:
devrait faire l'affaire.
Code : Tout sélectionner
pacman -Qu &> /dev/null && pacman -Qu | mail -s MAJ oldan@boitemail
Re: [mise à jour] en être averti (...)
merci,
mais dans ce cas, l'envoie se fera aussi lorsque pacman -Qu ne renverra rien
Par ailleurs, je n'ai rien pour envoyer des mails :
mais dans ce cas, l'envoie se fera aussi lorsque pacman -Qu ne renverra rien
Par ailleurs, je n'ai rien pour envoyer des mails :
suis je obligé d'installer postfix ou sendmail ? N'existe t il rien de plus léger qui ne fasse qu'envoyer un mail ?/usr/sbin/sendmail: No such file or directory
Re: [mise à jour] en être averti (...)
"pacman -Qu" retourne 1 s'il n'y a pas de maj.
Au lieu de sendmail, tu peux installer ssmtp ou équivalent, c'est largement suffisant pour l'envoi
Au lieu de sendmail, tu peux installer ssmtp ou équivalent, c'est largement suffisant pour l'envoi
Re: [mise à jour] en être averti (...)
super pour ssmtp
80Kio ca change des 45Mio de postfix et ses dépendances
du coup je comprends ta commande (cf http://www.linux-pour-lesnuls.com/bash.php#commandes7 )
Merci pour ton aide
80Kio ca change des 45Mio de postfix et ses dépendances
du coup je comprends ta commande (cf http://www.linux-pour-lesnuls.com/bash.php#commandes7 )
Merci pour ton aide
Re: [mise à jour] en être averti (résolu)
Du coup j'ai créé mon premier script bash
Voici /etc/cron.daily/checkPacmanUpdate
si vous avez des commentaires
Voici /etc/cron.daily/checkPacmanUpdate
Code : Tout sélectionner
#!/bin/bash
pacman -Qyu &> /dev/null
if [ $? ]
then
pacman -Qyu | mail -s "[Plugbox] Mise à jour" ae@mail.com
pacman -Syuw --noprogressbar --noconfirm &> /dev/null
fi
- FoolEcho
- Maître du Kyudo
- Messages : 10707
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [mise à jour] en être averti (résolu)
Ton premier appel à pacman ne devrait-il pas plutôt être -Syu pour connaître les nouvelles mises à jour ? (sauf erreur de ma part, j'crois pas qu'il y ait d'option 'y' pour -Q, donc pas de rafraichissement des bases de données de pacman, donc aucune notification).
(Perso, je n'aime pas l'utilisation de '$?', j'aurais conservé le '&&' à la place de ce que te proposait tuxce... je trouve que c'est plus lisible)
(Perso, je n'aime pas l'utilisation de '$?', j'aurais conservé le '&&' à la place de ce que te proposait tuxce... je trouve que c'est plus lisible)
«The following statement is not true. The previous statement is true.»
Re: [mise à jour] en être averti (résolu)
t'as raison il n'y a pas d'option y avec le Q
tu aurais simplement laissé ceci ?
tu aurais simplement laissé ceci ?
Code : Tout sélectionner
pacman -Qyu &> /dev/null && pacman -Qyu | mail -s "[Plugbox] Mise à jour" ae@mail.com ; pacman -Syuw --noprogressbar --noconfirm &> /dev/null
- FoolEcho
- Maître du Kyudo
- Messages : 10707
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [mise à jour] en être averti (résolu)
Dans ce que tu proposes, tu seras notifié un coup trop tard.
Plutôt:
Plutôt:
Code : Tout sélectionner
# rafraichir base de données
pacman -Sy
# téléchargement éventuel des paquets
pacman -Suw --noprogressbar --noconfirm &> /dev/null
# notification par mail au besoin
pacman -Qu &> /dev/null && pacman -Qu | mail -s "[Plugbox] Mise à jour" ae@mail.com
«The following statement is not true. The previous statement is true.»
Re: [mise à jour] en être averti (résolu)
C'est pour ca que j'avais rajouté un y...
Sans changer de Q en S...
Merci pour cette modif.
Cela donne maintenant :
Et qu'en est il de l'avertissement des mises à jour venant de AUR ?
Il faudrait passer par yaourt.
Mais yaourt n'est il pas à éviter en tant que root (ce script est exécuté via cron sous root) ?
Sans changer de Q en S...
Merci pour cette modif.
Cela donne maintenant :
Code : Tout sélectionner
#!/bin/bash
# rafraichir base de données
pacman -Sy &> /dev/null
# téléchargement éventuel des paquets
pacman -Suw --noprogressbar --noconfirm &> /dev/null
# notification par mail au besoin
pacman -Qu &> /dev/null && pacman -Qu | mail -s "[Plugbox] Mise à jour" ae@mail.com
Il faudrait passer par yaourt.
Mais yaourt n'est il pas à éviter en tant que root (ce script est exécuté via cron sous root) ?
- FoolEcho
- Maître du Kyudo
- Messages : 10707
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [mise à jour] en être averti (résolu)
Pour les mises à jour de Aur... ... je ne sais pas trop... On peut obtenir le statut des paquets Aur, et donc savoir si il y a des versions plus récentes disponibles, via :
mais ça liste tous les paquets de aur, ce qui oblige à faire un traitement derrière... Je ne sais pas s'il y a moyen de filtrer davantage ( mais je compte sur tuxce pour l'option de yaourt qui tue )
Au pire, sur Aur, il y a 'aurcheck' qui ferait exactement le boulot https://aur.archlinux.org/packages.php?ID=28009 (même si ça manque cruellement de documentation... ). Ainsi, renvoie la liste des paquets potentiellement à mettre jour (aurcheck tout court renvoie l'état de tous les paquets de aur), il suffirait alors de regarder si la liste n'est pas vide pour notifier.
Code : Tout sélectionner
yaourt -Qma
Au pire, sur Aur, il y a 'aurcheck' qui ferait exactement le boulot https://aur.archlinux.org/packages.php?ID=28009 (même si ça manque cruellement de documentation... ). Ainsi,
Code : Tout sélectionner
aurcheck -q
«The following statement is not true. The previous statement is true.»
Re: [mise à jour] en être averti (résolu)
Merci beaucoup pour ces infos, je m'y pencherais un de ces quatre.