Aller au contenu

Notification Par Mail Lors Du Passage Ups Sur Batterie


Messages recommandés

j'ai suivit la procedure et effectivement ca fonctionne

mais ca n'envoie un mail que lors du demonatge des volumes

moi je voudrais etre mis au courant des que l'info disant que le nas est sur batterie arrive

sinon j'ai trouvé pour le retour du courant:

quand le courant revien suite au demontage des volumes le nas reboot et juste avant il m'envoi un mail

j'ai mis tout a la fin de synoups

case "$1" in

online)

    	/usr/syno/bin/synomail UPSOL

    	UPSRestart

    	;;

lowbatt | nocomm)

sans oublier l'entree UPSOL dans le fichier mails

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...

Bonjour à tous,

Je me permet de relancer cette discussion. Depuis le temps est-ce que certaines personnes ont réussi ?

Je suis comme vous, ce que j'aimerai moi, c'est que lorsque mon onduleur passe sur batterie recevoir un mail directement.

Et que des qu'il repasse sur secteur je reçoit un autre mail qui me dise que c'est bon.

Si quelqu'un à une solution je prend ! Merci :)

Lien vers le commentaire
Partager sur d’autres sites

Salut, bon j'avoue que ça m’énervait un peu de pas trouver de solution !

Alors j'ai un peu bataillé (quelques jours quand même) et j'ai finalement trouvé LA solution qui fonctionne comme je veux.

Cette solution permet d'envoyer un mail à l'utilisateur dès que le NAS passe sur batterie de l'onduleur, et dès que le courant revient sur l'onduleur.

Voilà le tuto.

Connectez-vous en ssh avec putty sur votre serveur avec le login root.

Premièrement on sauvegarde les fichiers avant de les modifier :


cp /usr/syno/bin/synoups /usr/syno/bin/synoups.old

cp /usr/syno/etc/ups/upssched.conf /usr/syno/etc/ups/upssched.conf.old

cp /usr/syno/synoman/webman/texts/fre/mails /usr/syno/synoman/webman/texts/fre/mails.old


D'abord on rajoute à la fin du fichier mails ceci (vous mettez ce que vous voulez) :

vi /usr/syno/synoman/webman/texts/fre/mails


[UPSDown]

Subject:Alerte ! NAS sur batterie


Salut beau gosse,


J'ai une mauvaise nouvelle, il n'y a plus de courant, les NAS sont sur batterie.


Lokomass



[UPSUp]

Subject:Courant OK


Salut beau gosse,


Le courant est revenu, les NAS sont a nouveau disponibles.

Toutes mes felicitations.


Lokomass

On sauvegarde Ensuite, on va commencer par le "upssched.conf". Donc faites :

vi /usr/syno/etc/ups/upssched.conf

Allez à la fin du fichier, Et rajoutez la ligne suivante juste après "AT ONLINE * EXECUTE online".

AT ONBATT * EXECUTE onbatt

C'est pour dire au NAS d'executer la commande "onbatt" lorsque l'onduleur passe sur batterie. Vous obtenez à la fin du fichier :

AT ONLINE * EXECUTE online

AT ONBATT * EXECUTE onbatt

AT ONLINE * CANCEL-TIMER fsd

AT LOWBATT * EXECUTE lowbatt

AT NOCOMM * EXECUTE nocomm

AT FSD * EXECUTE fsd

On sauvegarde et hop c'est OK pour celui-là. Ensuite on part sur le "synoups".

vi /usr/syno/bin/synoups

Au début du fichier on rajoute "onbatt" comme ceci :

echo "Usage: `basename $0` { online | onbatt | lowbatt | nocomm | fsd }"

Puis, rendez-vous à la fin du fichier. Dans le "case" on va insérer la condition correspondante au onbatt comme ici :

case "$1" in

online)

	/usr/syno/bin/synomail UPSUp

    	UPSRestart

    	;;

onbatt)

    	UPSSendMsg $1

    	;;

lowbatt | nocomm)

    	UPSSafeMode $1

    	;;

fsd)

    	/usr/syno/sbin/upsmon -c fsd

    	UPSSafeMode $1

    	;;

esac

Maintenant on écrit la fonction de traitement dans le cas ou la NAS passe sur batterie. Copier la fonction suivante juste avant UPSRestart() dans le fichier "synoups"

UPSSendMsg() {

    	St=`UPSStatusGet`

    	if [ "$St" = "OL" ]; then

            	echo "WARNING: UPS is On-Line"

            	return

    	fi

    	if [ "$St" = "OB" ]; then

            	echo "UPS is On-Battery"

            	/usr/syno/bin/synomail UPSDown

            	SYSLOG "UPS on battery."

            	return

    	fi

}

On sauvegarde le tout. Et c'est fini.

Je ne suis pas sur qu'il faille redémarrer, testez comme ça, si ça fonctionne pas, redémarrez.

REMARQUE : J'insiste bien sur le fait de rajouter les morceaux de code dans le fichier sous vi, si vous le faites depuis Windows, il risquerait de s'insérer des "^M" dans les fichiers et la bonjour les dégats.

Voilà voilà !

Bon courage à tous !

Modifié par Lokomass
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Super ta procédure Lokomass

J'ai tout suivi, mais j'ai le soucis suivant. Après un test d'onduleur, je ne reçois pas d'email.

Je vérifie dans mes logs, et je vois le message suivant :

"Failed to send email. (Failed to found mail tag)"
J'ai revérifié tous mes fichiers édités, après chaque modification, puis reboot, mon fichier upssched.conf est modifié automatiquement comme ça:

AT ONLINE * EXECUTE online

AT ONLINE * CANCEL-TIMER fsd

AT LOWBATT * EXECUTE lowbatt

AT NOCOMM * EXECUTE nocomm

AT FSD * EXECUTE fsd


AT ONBATT * START-TIMER fsd 0[/code]

Il s'agit d'un 207+ en version 3.1.1605

Mon UPS est un APC 700

Est-ce que tu as une idée stp ?

Modifié par BigJim
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Effectivement tu as raison, après reboot, le fichier "upssched.conf" est modifié automatiquement.

La seule solution que j'ai, c'est une bidouille qui remettra le fichier à chaque démarrage à sa place.

D'abord sauvegarde-le.


cp /usr/syno/etc/ups/upssched.conf /usr/syno/etc/ups/upssched.conf.OK

Et tu créer un script qui va recopier à chaque démarrage le bon fichier. Donc dans le dossier "/usr/syno/etc.defaults/rc.d/" tu fais un

vi remetFichiers.sh

Dans lequel tu met le code suivant :

cp /usr/syno/etc/ups/upssched.conf.OK /usr/syno/etc/ups/upssched.conf

Tu fermes, enregistre, et lance un petit :

chmod a+x remetFichiers.sh

Et voilà, à chaque démarrage ce script remettra le bon fichier à sa place.

Bon courage.

Modifié par Lokomass
Lien vers le commentaire
Partager sur d’autres sites

Bon ben cela fonctionne parfaitement pour la coupure OB mais rien à faire pour le retour du courant OL (pas pu vraiment tester pour le LB hein ^^)

Au début je faisais à peu près comme tu indiquais sauf que


online)

    	/usr/syno/bin/synomail UPSUp

    	UPSRestart

    	;;

Ne fonctionne pas. J'ai une notif à la coupure, pas au retour. Donc je me suis dit que j'allais faire comme pour le OB et copier la ligne

/usr/syno/bin/synomail UPSUp

dans le bloc UPSRestart mais ça n'a pas l'air de mieux fonctionner...

Modifié par Pim
Lien vers le commentaire
Partager sur d’autres sites

Salut,

C'est vraiment bizarre que ça ne fonctionne pas au retour, c'est le truc le plus simple normalement :D

Si tous tes fichiers sont strictement identiques aux miens, avec les mêmes droits etc etc, je ne vois malheureusement pas d’où ça peut venir.

J'ai fait fonctionner ça sous un DS409+ et DSM3.2, peut-être y'a t-il une différence si tu n'as pas le même syno (j'en doute) et/ou pas la même version de DSM ??

Bref, la je sèche un peu...

Y'a t-il beaucoup de personnes qui ont réussi à le faire fonctionner, ou vous êtes les deux seuls :) ?

Lien vers le commentaire
Partager sur d’autres sites

Salut à tous,

Il faut préciser qu'il y a 2 scénarios possible au retour du courant :

1) Le Syno ne s'est pas arrêté : Dans ce cas, c'est le script /usr/syno/bin/synoups sur lequel on intervient comme très bien décrit plus haut

perso, j'ai juste complété l'état online comme suit, sans passer par la le codage de la nouvelle fonction UPSSendMsg.

online)

/usr/syno/bin/synomail UPSOnLine

UPSRestart

;;

2) Le Syno s'est arreté electriquement et va être relancé automatiquement par l'UPS. c'est donc sur un boot classique qu'il faut travailler et donc, l'ajout d'un petit script S99zzenvoimsg.sh sous /usr/syno/etc.defaults/rc.d va faire l'affaire ( le nom S99zz* permet d'être joué en dernier au démarrage ( argument start passé automatiquement par le systeme) pour laisser notamment le temps au serveur de SMTP de redémarrer correctement avant de lui adresser des commandes. J'ai également ajouté dans ce script la recopie du fichier /usr/syno/etc/ups/upssched.conf de référence.

Important : l'attente de 6mn peremet notamment à la box de redemarrer la liaison internet ( ben oui .. .il y a coupure de courant et notre box met aussi un peu de temps pour retrouver ses esprits ... rolleyes.gif

Script S99zzenvoimsg.sh

#!/bin/sh

#

# envoi message ou SMS pour confirmer retour courant

# Recopie du fichier /usr/syno/etc/ups/upssched.conf.OK

if [ "$1" = "start" ]; then

cp -p /usr/syno/etc/ups/upssched.conf.OK /usr/syno/etc/ups/upssched.conf

sleep 360

/usr/syno/bin/synomail UPSOnLineBoot

fi

Voila je vais regarder maintenant côté SMS pour tester en parallèle un envoi de SMS. je pense prendre SMSBOX qui propose 50 SMS pour une duréee de validité de 1 an à 7.55 heuros TTC. Après il y a peut-être des services gratuits, mais le but est que le SMS arrive rapidement. Est-ce que quelqu'un a des tuyaux sur d'autres fournisseurs ?

A++ wink.png

Lien vers le commentaire
Partager sur d’autres sites

Ah oui bien vu wink.png J'avais pas pensé à ce cas de figure en effet.

Juste peut-être une remarque/question sur ton script.

J'ai déjà essayé de mettre un script comme ceci au démarrage de mon backup, pour qu'il se synchronise sur mon principal tout seul.

Malheureusement pour moi j'avais oublier de mettre la tâche en fond de tâche grâce au fameux "&". Ce qui as eu pour effet que pendant les 9 heures de synchro, mon NAS était inaccessible du fait que le boot n'était pas fini.

Donc si j'ai bien compris, le fait de mettre au nom un "S99zz" comme préfixe permet d'attendre que le syno ait tout démarrer pour lancer ce script ?

Si j'avais su smile.png

Modifié par Lokomass
Lien vers le commentaire
Partager sur d’autres sites

voui, c'est ça. c'est pour ça que tu retrouves S99zbootok.sh qui sont les scripts appelés en dernier ( bootok).

Au sujet de l'attente de 6mn, j'avais initialement fait une boucle ( + Time Out de 30 tentatives) qui teste le rc du synomail, mais le processus est visiblement asynchrone. j'avais un code retour 0 même si la box était en cours d'initialisation.

-rwxr-xr-x 1 root root 1239 Jun 10 18:27 S99zbootok.sh

-rwxr-xr-x 1 root root 282 Nov 2 14:50 S99zzenvoimsg.sh

A part ça j'ai avancé sur les SMS. Je vais rajouter la commande et finir mes tests avec SMSBOX, ça a l'air de tourner. La commande ressemble à ça ( mais ça a déja été abordé dans un autre post)

wget "http://api.smsbox.fr/api.php?login=Identifiant&pass=mot-de-passe&msg=votre+message&dest=06XXXXXXXX&origine=Vous&mode=Expert"

le SMS est arrivé en quelques secondes :)

Lien vers le commentaire
Partager sur d’autres sites

...

Effectivement tu as raison, après reboot, le fichier "upssched.conf" est modifié automatiquement.

...

Il faut plutôt modifier le fichier par défaut qui se trouve dans /usr/syno/etc.defaults/ups/upsshed.conf, c'est celui la qui est recopié lors d'un re-démarrage du syno !

Patrick

Lien vers le commentaire
Partager sur d’autres sites

encore mieux ! je ne savais pas où le trouver ... merci

je voudrais rediriger les sorties du wget dans /var/log/messages : wget " xxxxxxxxxxxxxxxxx" 1>/var/log/messages 2>/var/log/messages

mais je suis un peu frileux au niveau de l'impact si des scripts systeme uitlisent ensuite la log ... Tu as quelque chose de + élégant ?

sinon 1>/dev/null 2>/dev/null ... ou wget "xxxx" > /dev/null 2>&1 et tant pis pour l'info

Modifié par timetofly06
Lien vers le commentaire
Partager sur d’autres sites

En fait déjà si tu veux rajouter tes lignes (et non pas écraser le fichier de log !) il faut utiliser les ">>" et non pas le ">" donc :

wget " xxxxxxxxxxxxxxxxx" 1>>/var/log/messages 2>>/var/log/messages[/CODE]

Et si tu as peur pourquoi ne pas écrire dans un fichier "log" à toi !?

Patrick

Lien vers le commentaire
Partager sur d’autres sites

salut tout le monde,

Voila ça marche nickel : Mail et SMS smile.pngsmile.pngsmile.pngsmile.png

Donc comme promis un petit recap :

Liste des 3 nouveaux tags utilisés pour l'envoi de mail :

UPSOnBatt : Tag mail bascule sur batterie - Cf çi-dessous : Décrit dans script (1) et utilisé dans script (3)

UPSOnLine : Tag mail retour courant sans arret electrique du NAS - Cf çi-dessous : Décrit dans script (1) et utilisé dans script (3)

UPSOnLineBoot : Tag mail retour courant et relance du NAS après arret electrique - Cf çi-dessous : Décrit dans script (1) et utilisé dans script (4)

1) MODIFICATION DU FICHIER /usr/syno/synoman/webman/texts/fre/mails

2) MODIFICATION DU FICHIER /usr/syno/etc/ups/upssched.conf et remplacement de celui d'origine dans /usr/syno/etc.defaults/ups/upssched.conf pour trapper l'état ONBATT

3) MODIFICATION DU FICHIER /usr/syno/bin/synoups ( Ajout test de l'état ONBATT et modification de l'état ONLINE pour envoi mail et SMS

4) CREATION DU FICHIER /usr/syno/etc.defaults/rc.d/S99zzenvoimsg.sh :

S99zzenvoimsg.sh

#!/bin/sh

#

# envoi message ou SMS pour confirmer retour courant

if [ "$1" = "start" ]; then

sleep 360

/usr/syno/bin/synomail UPSOnLineBoot

echo "--------------------------------------------------------------------------------" >>/perso/sms.log

date >>/perso/sms.log

/usr/syno/bin/wget "http://api.smsbox.fr/api.php?login=<login>&pass=<password>&msg=<message>&dest=<telephone>&origine=<nom emetteur>&mode=Expert" 1>>/perso/sms.log 2>>

fi

Enfin, pour l'envoi des SMS; j'ai testé avec SMSBOX et ça fonctionne impeccable (reception en 2/3 secondes). J'ai pris un forfait expert à 7,55 euros. pour 50 SMS (valable un an, donc largement suffisant ...). Voici le code à insérer selon le contexte :

wget "http://api.smsbox.fr/api.php?login=compte&pass=mot_de_passe&msg=ALERTE SYNO - Le courant est revenu apres arret NAS&dest=n°_mobile__sans_+33&origine=emetteur&mode=Expert" 1>>/malogsms.log 2>>/malogsms.log

wget "http://api.smsbox.fr/api.php?login=compte&pass=mot_de_passe&msg=ALERTE SYNO - Coupure de courant. NAS sur batterie&dest=n°_mobile__sans_+33&origine=emetteur&mode=Expert" 1>>/malogsms.log 2>>/malogsms.log

wget "http://api.smsbox.fr/api.php?login=compte&pass=mot_de_passe&msg=ALERTE SYNO - Le courant est revenu&dest=n°_mobile__sans_+33&origine=emetteur&mode=Expert" 1>>/malogsms.log 2>>/malogsms.log

Voila that's all. Merci à tous ceux qui ont contribué à faire avancer le schmilblick .. wink.png

Modifié par timetofly06
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Enfin un peu de temps pour flâner au tuning de mon Syno. Donc je vais mettre en place tous les scripts en dehors de celui pour les SMS. Je reviens vers vous dès que possible.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.