Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

Tous les dimanches je vois un mail avec le sujet "Backup HC3", je ne l'ouvre pas, et me dit "ok je script a bien fonctionné".

Ce matin, je l'ai ouvert et ait vu qu'il y avait une erreur dans le body (et elle est confirmée dans la HC3 (évidemment).

 

Serait-il possible d'apporter une petite modif au script, que si erreur, le sujet du mail soit "Backup HC3 : ERROR" ?

Ainsi je ne passerais pas à côté d'une erreur indispensable à corriger.

J'ai déjà regardé le script, mais n'y connaissant rien, je n'ai pas trouvé où faire cette petite modification.

Merci

  • Like 1
Posté(e)

comme je suis impatient, j'ai testé avec succès ceci. Il y a juste une ligne à ajouter dans la fonction Display Error.

Voici la fonction complète :

# Function : Display error
function Error {
	if [ -z "$2" ]
	then
		MAIL_SUBJECT="Backup HC3 : ERROR" # jojo 27/10/2024
		echo -e "$1"
		Email "$1"
	else
		echo -e "$1\n\n$2\n"
		Email "$1\n\n$2\n"
	fi
	Notification "$1"
}

 

  • Like 3
  • 3 semaines après...
Posté(e)

Bonjour,

J'ai reçu cette nuit 2 mails à 3h00. Ce n'est pas la première fois, mais ce n'est pas systématique.

De plus, le mail d'erreur n'est pas avec le titre modifié ci-dessous.

Ce n'est vraiment pas gravissime, mais là ça ne peut être corrigé que par un vrai expert (à tout hasard @Lazer ? :rolleyes:)

Voici les mails reçus :


HC3
03:00 (il y a 8 heures)
À moi

Erreur : impossible d'obtenir la version : code de retour HTTP 404

<html>
 <head><title>404 Not Found</title></head>
 <body>
 <center><h1>404 Not Found</h1></center>
 <hr><center>nginx</center>
 </body>
 </html>



HC3
03:00 (il y a 8 heures)
À moi

Sauvegarde Home Center terminée avec succès (backup_HC3-00023450_2024_11_10-03_01_50--.fbi)

 

Posté(e) (modifié)

Parce que ce n'est pas une erreur bloquante, si tu regardes le code source, tu verras qu'après l'envoi du mail d'erreur, il ne stoppe pas l'exécution du code, il continue à la suite.

else
	Error "Erreur : impossible d'obtenir la version : code de retour HTTP ${CODE}" "${JSON}"
fi

 

La seule conséquence, c'est que le nom du fichier de sauvegarde ne comportera pas la version et le type stable/beta, pas vraiment gênant, comme on le constate d'ailleurs dans le 2nd mail que tu as reçu.

On pourrait voir cela comme un message d'avertissement plus que d'erreur

 

Reste que je ne sais pas pourquoi cette erreur est survenue (des services pas complètement redémarrés probablement), et pourquoi ta modification du titre d'email n'a pas eu d'effet sur ce mail.

 

Modifié par Lazer
Posté(e)

merci pour ces explications, le plus important étant que j'ai mes backups.

PS

Il y a 1 heure, Lazer a dit :

si tu regardes le code source,

N'y connaissant rien en scripts UNIX, je ne sais pas analyser le code source (d'ailleurs pourquoi la syntaxe de IF est FI ???)

Posté(e)

Pas besoin de grande compétence de programmation pour constater qu'il n'y pas d'instruction Quit après l'erreur "impossible d'obtenir la version" contrairement à la majorité des autres erreurs.

C'est juste ce que j'ai fait ce matin pour comprendre ce qui s'est passé chez toi.

Tu as réussi à trouver et modifier le titre de l'email, je suis sûr que tu aurais aussi réussi à arriver à la même conclusion pour cette erreur ;)

 

Pour le "fi", c'est une des particularités du langage Shell... chaque langage a sa syntaxe qui lui est propre.

Là ils ont décidé d'inverser les lettres du "if" pour clore la section, tout comme LUA a décidé d'utiliser un "end", l'indentation (tabulations) en Python, ou encore l'accolade dans beaucoup d'autres langages, voire rien du tout (en C/PHP/etc, si une seule instruction après le if, on peut omettre tout élément délimiteur de section)

Bref, rien qu'avec la tabulation de mon script (relativement simple), je pense qu'on comprend facilement que le fi ferme le bloc if/else précédent... oui bon désolé dans l'extrait de 3 lignes de mon message précédent, il manque le début du "if"... il faut aller voir le code source.

Posté(e)

confirmation que je devrais renouveler ma mémoire (elle devient vieille :lol:) j'étais sûr que le if (en début de section) c'était fi ... ton explication est donc pleine de logique ...

 

×
×
  • Créer...