jojo Posté(e) le 27 octobre Signaler Posté(e) le 27 octobre 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 1
jojo Posté(e) le 27 octobre Signaler Posté(e) le 27 octobre 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" } 3
fredokl Posté(e) le 27 octobre Signaler Posté(e) le 27 octobre Bonne idée @jojo. Merci pour cette petite mise à jour.
jojo Posté(e) le 17 novembre Signaler Posté(e) le 17 novembre 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 ? ) 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)
Lazer Posté(e) le 17 novembre Auteur Signaler Posté(e) le 17 novembre (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é le 17 novembre par Lazer
jojo Posté(e) le 17 novembre Signaler Posté(e) le 17 novembre 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 ???)
Lazer Posté(e) le 17 novembre Auteur Signaler Posté(e) le 17 novembre 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.
jojo Posté(e) le 17 novembre Signaler Posté(e) le 17 novembre confirmation que je devrais renouveler ma mémoire (elle devient vieille ) j'étais sûr que le if (en début de section) c'était fi ... ton explication est donc pleine de logique ...
Messages recommandés