<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ups Archives - Mon linux</title>
	<atom:link href="https://www.monlinux.net/tag/ups/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.monlinux.net/tag/ups/</link>
	<description>by Belgotux</description>
	<lastBuildDate>Fri, 31 Mar 2023 09:00:38 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://www.monlinux.net/wp-content/uploads/cropped-mon-linux-logo-grey-512-32x32.png</url>
	<title>ups Archives - Mon linux</title>
	<link>https://www.monlinux.net/tag/ups/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>NUT &#8211; notifications push Telegram Pushbullet Pushover pour UPS</title>
		<link>https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/</link>
					<comments>https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sat, 04 Feb 2023 21:07:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[nut]]></category>
		<category><![CDATA[telegram]]></category>
		<category><![CDATA[ups]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1763</guid>

					<description><![CDATA[<p>J&#8217;ai d&#233;j&#224; &#233;crit un premier article sur la configuration de NUT pour &#233;teindre proprement ses serveur en 2015. Il a &#233;t&#233; revu plusieurs fois mais cela restait concentr&#233; autour de La configuration de NUT en lui-m&#234;me. Tout reste encore valable... <a class="more-link" href="https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/">NUT &#8211; notifications push Telegram Pushbullet Pushover pour UPS</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>J&rsquo;ai déjà écrit un premier article sur la configuration de NUT pour éteindre proprement ses serveur en 2015. Il a été revu plusieurs fois mais cela restait concentré autour de La configuration de NUT en lui-même. Tout reste encore valable dans <a href="https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/">l&rsquo;article originel sur NUT pour parler à son UPS</a>.</p>



<p>J&rsquo;y avais introduit un script simple de notification mail et SMS avec la commande NOTIFYCMD. A l&rsquo;époque, je n&rsquo;hébergeais pas encore sur github mes projets. J&rsquo;avais mis le script en 2018 sur github, à l&rsquo;occasion de la prise en charge de pushbullet et plus uniquement les mails et SMS.</p>



<p>Récemment j&rsquo;ai revu le script, car il n&rsquo;était pas très flexible. J&rsquo;en ai profité pour y intégrer un PR de pushover de longue date, mais surtout <strong>Telegram qui est absolument recommandé</strong> pour des échanges chiffrés correctes, même si je n&rsquo;avais pas d&rsquo;infos sensibles sur des notifications UPS <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>Fin d&rsquo;année passée, ma volonté était de passer toutes mes notifications en Telegram, que ce soit pour octoprint, mes vps, mes serveurs à la maison, Jeedom. J&rsquo;ai notamment fait <a href="https://www.monlinux.net/2022/12/notification-bot-telegram-sous-linux-debian/">un script générique qui peut être utilisé pour envoyer des notifications Telegram à la fin d&rsquo;une commande, avec un pipe, dans un script</a>, etc en décembre.</p>



<p>La partie boot a été revue afin de ne plus avoir de dépendance avec un script de notification. Ce sont les mêmes fonctions, mais internalisées. J&rsquo;ai partagé le logrotate également.</p>



<h2 class="wp-block-heading">Installation manuelle du script de notification depuis github</h2>



<p>Une fois la configuration de NUT suivis sur l&rsquo;article précédent, voici la marche à suivre pour installer le script avec un copier coller. Vous aurez besoin de git : </p>



<ul class="wp-block-list">
<li>Copier <a href="https://github.com/belgotux/nutNotify.git" target="_blank" rel="noreferrer noopener">le projet git nutNotify</a></li>



<li>Copier le fichier <code>nutNotify.conf.txt</code> vers <code>/usr/local/etc/nutNotify.conf</code> afin de l&rsquo;éditer avec vos besoins. Pour Telegram les deux variables telegramAccessToken et telegramChatID suffisent. Pour <a href="https://www.monlinux.net/2022/12/notification-bot-telegram-sous-linux-debian/">obtenir vos identifiants il faut créer un bot Telegram</a>.</li>



<li>Copier <code>nutNotifyFct.sh nutNotifyBoot.sh nutNotify.sh nutShutdown.sh</code> vers <code>/usr/local/bin</code></li>



<li>Copier <code>systemd-notify</code> vers <code>/lib/systemd/system/nut-notify-boot.service</code></li>



<li>systemctl reload daemon et enable <code>nut-notify-boot</code></li>



<li>Créer le répertoire de log <code>/var/log/nutNotify</code> avec les droits de l&rsquo;utilisateur nut</li>



<li>Copier le fichier de logrotate dans <code>/etc/logrotate.d</code></li>
</ul>



<pre class="wp-block-code"><code lang="bash" class="language-bash">git clone https://github.com/belgotux/nutNotify.git
cd nutNotify
cp nutNotify.conf.txt /usr/local/etc/nutNotify.conf
vim /usr/local/etc/nutNotify.conf
cp nutNotifyFct.sh nutNotifyBoot.sh nutNotify.sh nutShutdown.sh /usr/local/bin
cp systemd-notify /lib/systemd/system/nut-notify-boot.service
systemctl daemon-reload
systemctl enable nut-notify-boot.service
mkdir /var/log/nutNotify
chown nut:nut /var/log/nutNotify
cp nutNotify.logrotate /etc/logrotate.d
</code></pre>



<h2 class="wp-block-heading">Configuration de NUT et du script de notification push depuis Ansible Galaxy</h2>



<p>J&rsquo;ai également créé un <a href="https://github.com/belgotux/ansible-role-nut-client" target="_blank" rel="noreferrer noopener">repo github pour le projet Ansible nut client</a> qui a 2 fonctions : </p>



<ul class="wp-block-list">
<li>Configurer le service nut facilement : autant sur le nut server relié à l&rsquo;UPS, que les clients réseaux nut</li>



<li>Configurer le script de notification Push pour Telegram, Pushbullet, Pushover, mal ou sms</li>
</ul>



<p>Vous pouvez définir différents types de notifications en fonction de l&rsquo;évènement. J&rsquo;enverrai une notification Telegram pour un problème secteur et lorsque les serveurs s&rsquo;éteindront en fin de batterie par exemple. Mais je ne voudrais peut-être pas que tous mes serveurs me disent qu&rsquo;ils sont sur batterie UPS lors d&rsquo;une coupure, un seul me suffira&#8230; D&rsquo;où l&rsquo;utilité des variables Ansible : des notifications minimales pour le groupe de serveurs et des notifications pour tous les events pour le serveur relié à l&rsquo;UPS.</p>



<p>Le role nut-client est disponible sur <a href="https://galaxy.ansible.com/belgotux/nut_client" target="_blank" rel="noreferrer noopener">Ansible Galaxy</a>. Pour le prendre : </p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">ansible-galaxy install belgotux.nut_client</code></pre>



<p>La configuration est bien fournie dans le README en Anglais, mais je mets ici les points essentiels avec un exemple : </p>



<ul class="wp-block-list">
<li><code>notifynut_method</code> peut être [mail|pushbullet|telegram|pushover|sms] (default mail)</li>



<li><code>notifynut_mailto</code> adresse mail de destinataire (default root)</li>



<li><code>nut_mode</code> peut être [netclient|netserver] : netserver est à mettre uniquement sur le serveur ayant l&rsquo;UPS en USB ou utilisé en réseau (default netclient)</li>



<li><code>nut_ups_name</code> le nom donné à l&rsquo;ups</li>



<li><code>nut_ups_ip</code> l&rsquo;IP de l&rsquo;UPS</li>



<li><code>nut_ups_port</code> port du service nut (default 3493)</li>



<li><code>nut_user</code> utilisateur nut pour monitorer l&rsquo;UPS</li>



<li><code>nut_password</code> le mot de passe pour monitorer l&rsquo;UPS</li>
</ul>



<p>Selon la notification utilisée, les variables sont aussi à compléter. Dans le cas de Telegram : </p>



<ul class="wp-block-list">
<li><code>notifynut_telegram_accessToken</code>&nbsp;Telegram token</li>



<li><code>notifynut_telegram_chatID</code>&nbsp;Telegram chat ID</li>
</ul>



<h3 class="wp-block-heading">Utiliser efficacement les variables Ansible</h3>



<p>Et c&rsquo;est suffisant pour un simple serveur. Mais pour ne pas recevoir 5 notifications si vous avez 5 serveurs qui passent sous batteries&#8230; Je vous conseille dans le groupe de serveur de mettre ces variables. Vous serez averti en cas de problème de communication avec le serveur NUT et quand le serveur est de nouveau en ligne après une coupure de courant : </p>



<pre class="wp-block-code"><code lang="yaml" class="language-yaml">notifynut_method: none
notifynut_method_comm: telegram
notifynut_method_serveronline: (telegram mail)</code></pre>



<p>Et dans le<code> hosts_vars</code> du serveur NUT ceci, afin que le service soit en écoute et d&rsquo;avoir toutes les notifications par telegram uniquement. (sauf serveronline vu qu&rsquo;on l&rsquo;a défini dans notre groupe à telegram+mail comme les autres serveurs). </p>



<pre class="wp-block-code"><code lang="yaml" class="language-yaml">nut_mode: netserver
notifynut_method: telegram</code></pre>
<p>L’article <a href="https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/">NUT &#8211; notifications push Telegram Pushbullet Pushover pour UPS</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>NUT &#8211; parler à son UPS &#8211; notifications mails/push et arrêt propre du système</title>
		<link>https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/</link>
					<comments>https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/#comments</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Thu, 01 Mar 2018 20:25:12 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[nut]]></category>
		<category><![CDATA[ups]]></category>
		<guid isPermaLink="false">http://www.monlinux.net/?p=527</guid>

					<description><![CDATA[<p>Afin d&#8217;&#233;viter de corrompre son syst&#232;me de fichiers et &#233;viter des pannes hardware en cas de coupure de courant, l&#8217;UPS est essentiel. M&#234;me pour un petit serveur ou un PC. Il y en a d&#233;j&#224; &#224; partir de 80/90&#8364;. Dans... <a class="more-link" href="https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/">NUT &#8211; parler à son UPS &#8211; notifications mails/push et arrêt propre du système</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Afin d&rsquo;éviter de corrompre son système de fichiers et éviter des pannes hardware en cas de coupure de courant, l&rsquo;UPS est essentiel. Même pour un petit serveur ou un PC. Il y en a déjà à partir de 80/90€. Dans mon cas, j&rsquo;ai un EATON protection station 650. Voici comment configurer NUT pour un UPS USB sous Debian Wheezy.</p>
<p>Mise à jour décembre 2017 : A partir de Debian 9 des modifications sont à faire</p>
<p>Mise à jour mars 2018 : script de notification modifié afin d&rsquo;avoir des notification push sur son smartphone via pushBullet <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Mise à jour février 2023</strong> : <a href="https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/">script de notification totalement revu pour les dépendances, ajout de notification Telegram et Pushover, ainsi qu&rsquo;un rôle Ansible</a> dont j&rsquo;explique les détails dans l&rsquo;article dédié. La partie installation de cet article reste toujours valable <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><span id="more-527"></span></p>
<h2>Installation de nut</h2>
<p>Cette installation est pour un <strong>serveur ayant l&rsquo;UPS branché directement en USB ou en SNMP</strong>. Si vous avez 2 serveurs alimentés par l&rsquo;UPS, <strong>j&rsquo;explique également comment configurer un serveur nut slave</strong>. Dans ce cas, le serveur slave interroge le serveur NUT du serveur master (qui a l&rsquo;UPS branché en USB).</p>
<p>Installation des outils :</p>
<pre class="lang:sh decode:true ">apt-get install nut</pre>
<p>Pour utiliser un UPS disposant d&rsquo;une carte réseau avec SNMP configuré :</p>
<pre class="lang:sh decode:true">apt-get install nut-snmp</pre>
<p>Chercher le bon driver :</p>
<pre class="lang:sh decode:true ">less /usr/share/nut/driver.list</pre>
<p>Configurer ups.conf pour un UPS relié en USB :</p>
<pre class="lang:sh decode:true">[home-nas-ups]
driver = usbhid-ups
port = auto
desc = "EATON Protection Station 650"</pre>
<p>Configurer ups.conf pour un gros UPS qui dispose d&rsquo;une carte réseau en SNMP :</p>
<pre class="lang:sh decode:true ">[ups-bat2]
driver = snmp-ups
port = 10.1.2.3
community = monitor
#       mibs=appc
snmp_version=v2c
pollfreq=30
desc = "AEG Protect D. 3000"</pre>
<p>Configurer upsd.conf pour un serveur en standalone :</p>
<pre class="lang:sh decode:true ">LISTEN 127.0.0.1 3493</pre>
<p>Configurer upsd.conf sur le master si on a plusieurs serveurs alimenté par l&rsquo;UPS :</p>
<pre class="lang:sh decode:true">LISTEN 0.0.0.0 3493</pre>
<p>Configurer upsd.users :</p>
<pre class="lang:sh decode:true ">[admin]
password = *********
actions = SET
instcmds = ALL

[nutsoft]
password = *****
actions = FSD
upsmon master</pre>
<p>Si vous avez 2 serveurs qui sont sur le même UPS, voici la configuration d&rsquo;un accès pour le serveur slave <strong>à configurer dans le fichier upsd.users du master nut</strong> :</p>
<pre class="lang:sh decode:true">[nutslave]
password = **********
upsmon slave
</pre>
<h2>Script de notification d&rsquo;évènement NUT par mail / SMS / push</h2>
<p>J&rsquo;ai créé un <a href="https://github.com/belgotux/nutNotify" target="_blank" rel="noopener">script de notification NUT sur Github</a> afin d&rsquo;être alerté d&rsquo;un évènement sur l&rsquo;UPS par mail ou sms. Depuis mars 2018, par <strong>notification push sur son smartphone</strong>! Depuis le début d&rsquo;année 2023, un <a href="https://www.monlinux.net/2023/02/nut-notifications-push-telegram-pushbullet-pushover-pour-ups/">article complet sur une mise à jour majeure du script est disponible avec de nouvelles notifications Push comme Telegram</a>.</p>
<p>Il faut créer un compte sur le <a href="https://www.pushbullet.com">site de pushBullet</a> et installer l&rsquo;<a href="https://play.google.com/store/apps/details?id=com.pushbullet.android&amp;hl=fr">application Android</a>. Elle existe aussi pour windows phone ou iPhone. Une fois loggé avec votre compte Google, allez dans <strong>Settings &gt; Account &gt; « Create Access Token ».</strong> Copiez le code apparu pour le mettre dans le fichier de configuration dans la variable « accessToken ».</p>
<p>Les notifications sont variables :</p>
<ul>
<li>On peut très bien être averti uniquement par mail d&rsquo;un soucis de déconnexion usb à l&rsquo;UPS</li>
<li>Etre averti au passage sous batterie par mail, sms et push.</li>
<li>Etc</li>
</ul>
<p>Le script envoi un mail à « alert ». On crée donc un alias dans /etc/aliases :</p>
<pre class="lang:sh decode:true ">alert: mo&#110;m&#97;&#105;l&#64;myd&#111;&#109;ain.&#116;&#108;d</pre>
<p>Et on applique la configuration avec la commande :</p>
<pre class="lang:sh decode:true ">newaliases</pre>
<h3>Intégration du script de notification</h3>
<p>Pour intégrer le script de notification dans la configurer de NUT, il faut <strong>modifier le fichier upsmon.conf du master</strong> :</p>
<pre class="lang:sh decode:true">RUN_AS_USER nut
MONITOR home-nas-ups@localhost:3493 1 nutsoft ***** master
NOTIFYCMD /usr/local/bin/nutNotify.sh
#multiple instances running simultaneously

NOTIFYMSG ONLINE "ONLINE %s"
NOTIFYMSG ONBATT "ONBATT %s"
NOTIFYMSG LOWBATT "LOWBATT %s"
NOTIFYMSG FSD "FSD %s"
NOTIFYMSG COMMBAD "COMMBAD %s"
NOTIFYMSG COMMOK "COMMOK %s"
NOTIFYMSG SHUTDOWN "SHUTDOWN %s"
NOTIFYMSG REPLBATT "REPLBATT %s"
NOTIFYMSG NOCOMM "NOCOMM %s"

NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD SYSLOG+EXEC
NOTIFYFLAG COMMOK SYSLOG+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+EXEC
NOTIFYFLAG NOCOMM SYSLOG+EXEC

#NOTIFYMSG type message

POWERDOWNFLAG /var/lib/nutsoft/killpower
#POWERDOWNFLAG /var/tmp/killpower
#Dans la doc :
#POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h +0"

FINALDELAY 2
MINSUPPLIES 1
RBWARNTIME 604800
NOCOMMWARNTIME 21600

POLLFREQ 15
POLLFREQALERT 30
HOSTSYNC 15
DEADTIME 45</pre>
<p>Voici une configuration pour un serveur slave de upsmon.conf</p>
<pre class="lang:sh decode:true">RUN_AS_USER nutsoft
MONITOR ups-bat2@localhost 1 nutsoft ***** master
NOTIFYCMD /usr/local/bin/nutNotify.sh
#multiple instances running simultaneously

NOTIFYMSG ONLINE "ONLINE %s"
NOTIFYMSG ONBATT "ONBATT %s"
NOTIFYMSG LOWBATT "LOWBATT %s"
NOTIFYMSG FSD "FSD %s"
NOTIFYMSG COMMBAD "COMMBAD %s"
NOTIFYMSG COMMOK "COMMOK %s"
NOTIFYMSG SHUTDOWN "SHUTDOWN %s"
NOTIFYMSG REPLBATT "REPLBATT %s"
NOTIFYMSG NOCOMM "NOCOMM %s"

NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD SYSLOG+EXEC
NOTIFYFLAG COMMOK SYSLOG+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+EXEC
NOTIFYFLAG NOCOMM SYSLOG+EXEC

#NOTIFYMSG type message

POWERDOWNFLAG /var/lib/nutsoft/killpower
SHUTDOWNCMD "/sbin/shutdown -h +0"

FINALDELAY 2
MINSUPPLIES 1
RBWARNTIME 604800
NOCOMMWARNTIME 21600

POLLFREQ 30
POLLFREQALERT 60
HOSTSYNC 15
DEADTIME 15</pre>
<p>Configurer nut.conf pour un seul serveur sur l&rsquo;UPS :</p>
<pre class="lang:sh decode:true ">MODE=standalone
UPSD_OPTIONS="-u root"    #car upsdrvctl a besoin d'être spécifié en root</pre>
<p>En cas de serveur master et slave, éditer le fichier nut.conf sur le master :</p>
<pre class="lang:sh decode:true">MODE=netserver
UPSD_OPTIONS="-u root"</pre>
<p>Opérations pour l&rsquo;utilisateur spécifique :</p>
<ul>
<li>créer fichier de log et modif user :</li>
</ul>
<pre class="lang:sh decode:true">touch /var/log/nutNotify.log &amp;&amp; chown nut:nut /var/log/nutNotify.log</pre>
<h2>UPS de test</h2>
<p>Pour tester les scripts, implémentation et autre, on peut utiliser un driver de test : dummy-ups</p>
<p>Voici l&rsquo;exemple qui permet de tester son script de notification par exemple :</p>
<pre class="lang:sh decode:true ">[dummy]
driver = dummy-ups
port = evolution500.dev
desc = "dummy-ups in dummy mode"

[repeater]
driver = dummy-ups
port = ups@hostname
desc = "dummy-ups in repeater mode"</pre>
<p><strong>Explications :</strong></p>
<p>Il faut bien comprendre que upsmon va exécuter le script notify avec l&rsquo;argument adéquoit : passage sous batterie, restauration du secteur, batterie faible ou signal d&rsquo;arrêt des serveurs</p>
<p>Lorsque le signale LOWBATT est reçu, le SHUTDOWNCMD est exécuté après le FINALDELAY. Par défaut le script init halt appelle le script « ups-monitor shutdown » qui appelle réellement le script d&rsquo;init « nut shutdown ». Celui-ci vérifie que le fichier POWERDOWNFLAG existe et contient the « magic string » de nut (cela peut poser problème lors de test, faire attention). Ensuite, le script demande au gestionnaire de driver (upsdrvctl) d&rsquo;envoyer le signal de shutdown à l&rsquo;UPS avec un delay de 20 secondes par exemple (dépend des UPS).</p>
<p>Si besoin, modifier la ligne 165 « if $upsmon -K &gt;/dev/null 2&gt;&amp;1 ; then » par « if [ 1 ] ; then », si l&rsquo;on veut pouvoir créer ce flag soit même</p>
<p>Attention que le fichier POWERDOWNFLAG doit se trouver sur la partition racine p.e. car il est exécuté en dernier dans les scripts rc.0. Le mettre dans /tmp quand on a un tmpfs ne fonctionnera pas.</p>
<p>Pour plus d&rsquo;informations, <a href="https://networkupstools.org/docs/user-manual.chunked/ar01s06.html#UPS_shutdown" target="_blank" rel="noopener">rendez-vous sur le site officiel de Nut</a>.</p>
<h2>Problèmes possibles</h2>
<h3>Cas 1 &#8211; mauvaise syntaxe</h3>
<pre class="lang:sh decode:true ">#upsmon
Network UPS Tools upsmon 2.4.3
Unable to use old-style MONITOR line without a username</pre>
<p>Problème de ligne dans le fichier de configuration upsmon.conf attention au power value 1!!!</p>
<h3>Cas 2 &#8211; driver ne démarre pas</h3>
<pre class="lang:sh decode:true ">Can't connect to UPS [home-nas-ups] (usbhid-ups-home-nas-ups): No such file or directory</pre>
<p>Vérifier que le driver est bien chargé (besoin de lancer en root&#8230;) :</p>
<pre class="lang:sh decode:true">#upsdrvctl start
Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Generic HID driver 0.34 (2.4.3)
USB communication driver 0.31
Can't claim USB device [0463:ffff]: could not detach kernel driver from interface 0: Operation not permitted Driver failed to start (exit status=1)</pre>
<p>Tester en root :</p>
<pre class="lang:sh decode:true ">upsdrvctl -t -u root start</pre>
<p>Aide du driver de l&rsquo;UPS :</p>
<pre class="lang:sh decode:true ">/lib/nut/usbhid-ups -h</pre>
<p>Editer le fichier d&rsquo;init, chercher la ligne « ! $upsdrvctl start » et remplacer par « ! $upsdrvctl -u root start »</p>
<h3> Problème 3 &#8211; driver non démarré automatiquement sur Squeeze</h3>
<p>Si upsdrvctl ne se lance pas avec /etc/init.d/nut start sous <span style="text-decoration: underline;">Debian Squeeze</span>, alors il s&rsquo;agit peut-être d&rsquo;un problème de droits.</p>
<pre class="lang:sh decode:true "># /etc/init.d/nut stop
Stopping Network UPS Tools: (driver(s) failed) upsd upsmon.</pre>
<p>Essayer sans et avec les options root :</p>
<pre class="lang:sh decode:true "># /sbin/upsdrvctl start
Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Generic HID driver 0.37 (2.6.4)
USB communication driver 0.32
interrupt pipe disabled (add 'pollonly' flag to 'ups.conf' to get rid of this message)
Can't claim USB device [051d:0003]: could not detach kernel driver from interface 0: Operation not permitted
Driver failed to start (exit status=1)

# /sbin/upsdrvctl -u root start
Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Generic HID driver 0.37 (2.6.4)
USB communication driver 0.32
interrupt pipe disabled (add 'pollonly' flag to 'ups.conf' to get rid of this message)
Using subdriver: APC HID 0.95</pre>
<p>Il faut donc éditer le script d&rsquo;init, c&rsquo;est pas propre, mais pas le choix :</p>
<pre class="lang:sh decode:true "># diff /tmp/nut /etc/init.d/nut
84c84
&lt;           ! $upsdrvctl start &gt;/dev/null 2&gt;&amp;1  &amp;&amp;  \
---
&gt;           ! $upsdrvctl -u root start &gt;/dev/null 2&gt;&amp;1  &amp;&amp;  \</pre>
<p>Le driver est correctement chargé :</p>
<pre class="lang:sh decode:true "># /etc/init.d/nut start
Starting Network UPS Tools: driver(s) upsd upsmon.
</pre>
<h2>Nut-cgi</h2>
<p>installer le paquet :</p>
<pre class="lang:sh decode:true ">apt-get install nut-cgi</pre>
<p>Configurer le fichier hosts.conf :</p>
<pre class="lang:sh decode:true ">MONITOR home-nas-ups@localhost:3493 "EATON Protection Station 650"</pre>
<p>Configurer le fichier upsset.conf :</p>
<pre class="lang:sh decode:true ">I_HAVE_SECURED_MY_CGI_DIRECTORY</pre>
<p>Configuration pour Apache, éditer /etc/apache2/site-enable/000-default :</p>
<pre class="lang:sh decode:true">#ScriptAlias /nut/cgi-bin /usr/lib/cgi-bin/nut
ScriptAlias /cgi-bin/nut /usr/lib/cgi-bin/nut
&lt;Directory /usr/lib/cgi-bin/nut&gt;
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
&lt;/Directory&gt;

Alias /nut /usr/share/nut/www
&lt;Directory /usr/share/nut/www &gt;
Options None
AllowOverride None
Order allow,deny
allow from all
&lt;/Directory&gt;</pre>
<p>Configuration pour Lighttpd, éditer /etc/lighttpd/lighttpd.conf :</p>
<pre class="lang:sh decode:true ">alias.url = ( "/nut/cgi-bin" =&gt; "/usr/lib/cgi-bin/nut" )
alias.url += ( "/cgi-bin/nut" =&gt; "/usr/lib/cgi-bin/nut" )
alias.url += ( "/nut" =&gt; "/usr/share/nut/www" )</pre>
<h2>Commandes utiles</h2>
<ul>
<li>upscmd : interragir avec l&rsquo;UPS commande</li>
<li>désactiver temporairement le beeper : upscmd -u admin -p &lsquo;jeypErjEm!ogIm9&rsquo; ups-antenne beeper.mute</li>
<li>upsrw : set UPS variables</li>
<li>upsc : CLi pour monitorer l&rsquo;ups</li>
</ul>
<p>L’article <a href="https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/">NUT &#8211; parler à son UPS &#8211; notifications mails/push et arrêt propre du système</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2018/03/nut-ups-notifications-mails-et-arret/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Mise en cache de page à l’aide de Disk: Enhanced 
Mise en cache de la base de données de 5/44 requêtes en 0.039 secondes utilisant Disk

Served from: www.monlinux.net @ 2026-04-11 13:17:29 by W3 Total Cache
-->