OVH Community, votre nouvel espace communautaire.

Etre automatiquement prévenu par mail d'une nouvelle release (patch)


AniMo
19/03/2010, 10h04
ok, merci pour la réponse.

Il n'y a pas une mailing liste d'ovh qui indique les mises à jour de sécurité quand elle sortent, à laquelle on peut s'inscrire ? ça serait quand même plus pratique...
je me suis inscrit sur sd-basic en attendant...

Rat-Thon
16/03/2010, 18h25
Erreur ou non, dans le fichier patch-all-release-2.sh sur le ftp ovh :

wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.00-2.01.sh -O patch-2.00-2.01.sh; sh patch-2.00-2.01.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.01-2.02.sh -O patch-2.01-2.02.sh; sh patch-2.01-2.02.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.02-2.03.sh -O patch-2.02-2.03.sh; sh patch-2.02-2.03.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.03-2.04.sh -O patch-2.03-2.04.sh; sh patch-2.03-2.04.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.04-2.05.sh -O patch-2.04-2.05.sh; sh patch-2.04-2.05.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.05-2.06.sh -O patch-2.05-2.06.sh; sh patch-2.05-2.06.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.06-2.07.sh -O patch-2.06-2.07.sh; sh patch-2.06-2.07.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.07-2.08.sh -O patch-2.07-2.08.sh; sh patch-2.07-2.08.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.08-2.09.sh -O patch-2.08-2.09.sh; sh patch-2.08-2.09.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.09-2.10.sh -O patch-2.09-2.10.sh; sh patch-2.09-2.10.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.10-2.11.sh -O patch-2.10-2.11.sh; sh patch-2.10-2.11.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.11-2.12.sh -O patch-2.11-2.12.sh; sh patch-2.11-2.12.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.12-2.13.sh -O patch-2.12-2.13.sh; sh patch-2.12-2.13.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.13-2.14.sh -O patch-2.13-2.14.sh; sh patch-2.13-2.14.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.14-2.15.sh -O patch-2.14-2.15.sh; sh patch-2.14-2.15.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.15-2.16.sh -O patch-2.15-2.16.sh; sh patch-2.15-2.16.sh
wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.16-2.17.sh -O patch-2.16-2.17.sh; sh patch-2.16-2.17.sh

##wget -q --passive ftp://ftp.ovh.net/made-in-ovh/releas...h-2.17-2.18.sh -O patch-2.17-2.18.sh; sh patch-2.17-2.18.sh
## comment out patch 2.17-2.18 busy
Mais le fichier patch-2.17-2.18.sh existe bien sur le ftp... mystère.

Il y a même un répertoire 2.18-2.19/ ...

AniMo
16/03/2010, 18h09
hello,
je test le script mais chaque fois que le le lance il m'envoie un email "Nouvelle release disponible : version 2.18"
alors que quand je lance la commande standart
wget ftp://ftp.ovh.net/made-in-ovh/release/patch-all.sh -O patch-all.sh; sh patch-all.sh
la version reste en 2.17

le script marche-t-il toujours ?

Bruno-KS
03/03/2009, 22h51
J'ai changé la méthode de vérification, OVH n'ayant pas mis à jour son changelog, ça se base sur le contenu du ftp.

Benjazz
17/10/2008, 16h21
Merci beaucoup Bruno !

ça marche nikel maintenant.

Bruno-KS
17/10/2008, 16h14
Ok, je crois avoir trouvé : il faut remplacer cette ligne :

Code:
 if [[ $actualversion<$i ]]; then
par :

Code:
 if [[ "$actualversion" < "$v.$i" ]]; then
Là c'est mieux ?

Benjazz
17/10/2008, 16h10
Ca me retourne :
Code:
2.15
Mais pour tester le script j'ai fait au préalable :

Code:
echo 2.14 > /etc/ovhrelease
Qui me retourne donc

Code:
2.14
Et ça a ce moment là que je test ça :

Code:
/root/checkNewRelease.sh
Mais je reçoit rien donc je remets ça :
Code:
echo 2.15 > /etc/ovhrelease

Bruno-KS
17/10/2008, 15h50
Que donne un : cat /etc/ovhrelease ?

Benjazz
17/10/2008, 15h21
Merci Bruno,

Alors ça ca marche :

Code:
echo "email de test" | mail -s "Test subject" tonEmail@fournisseur.com
Maintenant je suis passé à la 2.15, mais j'ai voulu tester en mettant le echo à 2.14 pour tester le script. >>> Resultat Pas de mail

Alors j'ai forçé dans le fichier la ligne email en mettant directement email = "monmail@monmail.com" >>>> Resultat pas de mail

Pour finir j'ai refait un chmod +x sur le fichier >>>> Et toujours pas de mail

Je comprends pas trop pourquoi là.

Bruno-KS
16/10/2008, 19h09
Citation Envoyé par Benjazz
Bonjour,

Venant de recevoir mon RPS, j'ai donc trouvé ce HOW-TO très sympa, en effet on est bien en 2.15 et ma version livré est 2.10.

Par contre je procédé ligne par ligne, et pourtant je ne reçois pas de mail lors du test du script. J'ai pourtant bien /root/.email de renseigné (j'ai verifié c'est ma bonne adresse dedans)

Quelqu'un à une idée à mon problème ?
Tu as lancé le patch-all avant de tester le script ?

Le script a bien les droits pour être exécuté ? (chmod +x ./script.sh)

Tu arrives à t'envoyer un mail avec cette commande ?

Code:
echo "email de test" | mail -s "Test subject" tonEmail@fournisseur.com

Benjazz
16/10/2008, 14h58
Bonjour,

Venant de recevoir mon RPS, j'ai donc trouvé ce HOW-TO très sympa, en effet on est bien en 2.15 et ma version livré est 2.10.

Par contre je procédé ligne par ligne, et pourtant je ne reçois pas de mail lors du test du script. J'ai pourtant bien /root/.email de renseigné (j'ai verifié c'est ma bonne adresse dedans)

Quelqu'un à une idée à mon problème ?

nemilos
28/08/2008, 21h43
Exacte le ffmpeg est resté églament ... je ne pense pas avoir besoin de plus donc heureux de pouvoir mettre à jour facilement en gardant php + ssl2 + ffmpeg

Geoffroy
28/08/2008, 20h54
Citation Envoyé par nemilos
merci bcps chui passer en 2.15 et tout est tjrs online et en plus php semble avoir garder les librairies en plus ( en tout cas le openssh )
Tant qu'il s'agit d'extensions (ffmpeg-php par exemple), et pas de php5-ovh recompilé avec des options personnelles, les patchs de devraient pas poser de problème.

nemilos
28/08/2008, 20h54
oki je retiens pour la prochaine foix, mais effectivement les configs de ces modules se fait directement dans php.ini et lors de cette mise à jour il a pa du être touché.

Bonne soirée et encore merci ( je vais essayer de voir pk le script du dessus ne m'a pas averti

Bruno-KS
28/08/2008, 20h44
Oui, il est préférable de faire un backup des php.ini et conf d'apache. Tu peux également appliquer les patch manuellement.

nemilos
28/08/2008, 20h40
nickel merci, je vais tester ca maintenant

Si je comprend bien tout les modules php / mysql / ... vont revenir par défault
Cela ne vas pas pauser de bug que j'ai installer dans php différent librairire tel que

openssh ( ou un truck du genre )
ffmpeg ( ou un truck du genre ^^ )

et c'est tout je pense ( il suffira que je réinstall/configure php apres l'update ?

voila j'ai lancé sinon quelqu'un a la changelog pour les version 2.* ? merci

-----------------------------------------------------------

merci bcps chui passer en 2.15 et tout est tjrs online et en plus php semble avoir garder les librairies en plus ( en tout cas le openssh )

Bruno-KS
28/08/2008, 14h12
Citation Envoyé par nemilos
hello merci bcps pr le script je l'ai pas encore tester ! mais cava pas tarder
C'est bien la 2.13 la dernier release pour la release2 ovh ?

car dans la doc ovh que j'ai trouvé il parle que de 1.** et comme je vois que une a été mis à jour en juillet ...

merci ^^
La dernière version de la Release2 Gentoo est la 2.15
La dernière version de la Release1 RedHat est la 1.79

Il faut donc mettre à jour au plus vite, c'est l'occasion de tester le script

nemilos
28/08/2008, 14h10
hello merci bcps pr le script je l'ai pas encore tester ! mais cava pas tarder
C'est bien la 2.13 la dernier release pour la release2 ovh ?

car dans la doc ovh que j'ai trouvé il parle que de 1.** et comme je vois que une a été mis à jour en juillet ...

merci ^^

Bruno-KS
04/08/2008, 08h39
Citation Envoyé par pipo2525
J'y pensais justement mais à la manière d'un bourrin.
je me demandais si je risquais qq chose avec un patch all en cron chaque nuit. Parce qu'au final, ça ne change pas grand chose, si je reçois l'émail via ton script, je fais un patch all dans la foulée.
Je vais continuer à réfléchir un peu.
Tu peux rajouter le patch all après l'envoi du mail, mais il vaut mieux être présent lors de l'application du patch pour voir les éventuelles erreurs. Tu peux encore prendre la sortie du patch-all et l'envoyer par mail (si ton mail fonctionne encore...). Mais le but était simplement d'être prévenu à temps, Ovh ne faisant une annonce à chaque release et quand c'est le cas c'est posté là où bcp de monde ne regarde pas.

pipo2525
04/08/2008, 08h32
J'y pensais justement mais à la manière d'un bourrin.
je me demandais si je risquais qq chose avec un patch all en cron chaque nuit. Parce qu'au final, ça ne change pas grand chose, si je reçois l'émail via ton script, je fais un patch all dans la foulée.
Je vais continuer à réfléchir un peu.

Bruno-KS
03/08/2008, 17h14
Automatiser la surveillance des patchs Release

Se tenir au courant de la parution de nouvelles mises à jour pour les distributions Release1 RedHat et Release2 Gentoo n'est pas facile pour tout le monde (mauvaise ML, etc...). Il est donc pratique d'automatiser cette surveillance. C'est ce que fait ce script : il vérifie à intervalles réguliers (durée paramétrable) s'il y a un nouveau patch pour votre release. Si tel est le cas, il vous envoie un email. L'email par défaut est celui saisit dans le manager lors de la réinstallation (voir + bas pour modifier l'email destinataire).

Plus d'informations sur les patch release : http://guide.ovh.net/ReleasePatchSecurite

Installation du script :

Les commandes suivantes sont à faire en SSH via un logiciel tel que Putty (ou équivalent dans Webmin).

Se placer dans /root :

Code:
cd /root
Créer le fichier qui contiendra le script : sélectionner le script (voir + bas), faire un clic droit dessus et cliquer sur "Copier". Lancer en SSH :

Code:
cat >> checkNewRelease.sh
Et faire un "coller" (sous Putty c'est le bouton droit de la souris). Une fois que tout texte s'est collé, terminer en faisant Enter et enfin Ctrl+D.

Donner les droits d'exécution au script (sinon il ne pourra pas vous envoyer d'email) :

Code:
chmod +x  checkNewRelease.sh
Il ne reste plus qu'à automatiser son exécution.

Automatiser tout ça :

On va ajouter le script dans crontab, un programme spécialisé dans l'exécution à intervalles donnés de commandes.

Pour éditer le crontab :

Code:
crontab -e
Et ajouter à votre convenance une des lignes ci-dessous :

Exemples d'exécution périodique :

Toutes les minutes (mode TRES parano)
Code:
* * * * *  /root/checkNewRelease.sh
Toutes les 5 minutes (mode parano)
Code:
*/5 * * * *  /root/checkNewRelease.sh
Tous les jours à 11h30, ou autre heure (recommandé) :
Code:
30 11 * * *  /root/checkNewRelease.sh
Le script :

Code:
#!/bin/bash

email=$(cat /root/.email)

actualversion=$(cat /etc/ovhrelease)

# 2.15 => a.b
a=$(echo $actualversion | cut -f1 -d.)
b=$(echo $actualversion | cut -f2 -d.)
last=$(lynx -dump ftp://ftp.ovh.net/made-in-ovh/release/ | grep ftp.ovh.net | grep $a\.[0-9][0-9]\.sh | cut -b58- | cut -b-2 | tail -1)

#echo "version : $v"
#echo "Dernière dispo : $last"

if [[ "$b" -lt "$last" ]]; then
        echo "Nouvelle release disponible : version $a.$last" | mail -s "[IMPORTANT] Patch Release$a dispo pour $HOSTNAME " $email
fi
Changer l'email de contact :

Si le fichier /root/.email n'existe pas ou que vous souhatez être prévenu sur un autre email, modifier la ligne suivante :

Code:
email=$(cat /root/.email)
Par :

Code:
email="email@fournisseur.com"
Pour être prévenu sur plusieurs adresses mails (il suffit juste de séparer les emails par un espace) :

Code:
email="email1@fournisseur.com email2@fournisseur.com email3@fournisseur.com"
Tester le script :

Se rappeler de la version actuelle de la release :

Code:
cat /etc/ovhrelease
2.13
Ici c'est la version 2.13. "Downgrader" la version :

Code:
echo 2.12 > /etc/ovhrelease
Lancer le script :

Code:
/root/checkNewRelease.sh
Ne pas oublier (IMPORTANT!!!) de remettre la bonne version (sinon quand vous lancerez le patch-all ça risque de tout casser). On remet simplement la version qu'on a obtenu plus haut (2.13) :

Code:
echo 2.13 > /etc/ovhrelease
Et on vérifie qu'on a bien reçu un mail disant :

Sujet : [IMPORTANT] Nouveau patch Release2 dispo pour nsXXXX.ovh.net
La nouvelle version : 2.13