<?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>script - Gagzen</title>
	<atom:link href="https://gagzen.net/tag/script/feed/" rel="self" type="application/rss+xml" />
	<link>https://gagzen.net</link>
	<description></description>
	<lastBuildDate>Fri, 04 Sep 2009 14:48:26 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://gagzen.net/wp-content/uploads/2026/06/android-chrome-512x512-1-150x150.png</url>
	<title>script - Gagzen</title>
	<link>https://gagzen.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Linux GUI : Boîtes de dialogue</title>
		<link>https://gagzen.net/2009/09/04/linux-gui-boites-de-dialogue/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Fri, 04 Sep 2009 14:48:26 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[WorkStation]]></category>
		<category><![CDATA[commandes]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=139</guid>

					<description><![CDATA[<p>Pré-requis : zenity libnotify Tout simplement excellent : pas encore testé, mais je compte bien faire qqls scripts avec : http://linux.byexamples.com/archives/259/a-complete-zenity-dialog-examples-1/ http://linux.byexamples.com/archives/265/a-complete-zenity-dialog-examples-2/ http://www.korben.info/integrer-une-popup-de-notification-dans-vos-scripts-sous-ubuntu.html</p>
<p>The post <a href="https://gagzen.net/2009/09/04/linux-gui-boites-de-dialogue/">Linux GUI : Boîtes de dialogue</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div>
<p>Pré-requis :</p>
<ul>
<li>zenity</li>
<li>libnotify</li>
</ul>
</div>
<div>
<p>Tout simplement excellent : pas encore testé, mais je compte bien faire qqls scripts avec :</p>
<p>http://linux.byexamples.com/archives/259/a-complete-zenity-dialog-examples-1/</p>
<p>http://linux.byexamples.com/archives/265/a-complete-zenity-dialog-examples-2/</p>
<p>http://www.korben.info/integrer-une-popup-de-notification-dans-vos-scripts-sous-ubuntu.html</p>
</div><p>The post <a href="https://gagzen.net/2009/09/04/linux-gui-boites-de-dialogue/">Linux GUI : Boîtes de dialogue</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Renommage de fichiers en masse</title>
		<link>https://gagzen.net/2008/11/15/renommage-de-fichiers-en-masse/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Sat, 15 Nov 2008 14:13:10 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[WorkStation]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[renommage]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=88</guid>

					<description><![CDATA[<p>Un petit script permettant le renommage en masse de fichiers #!/bin/bash LISTE_FICHIERS= »./liste_fichier.tmp » ls -1 *.avi &#62; $LISTE_FICHIERS ORIGINE= » » while read ORIGINE ; do DESTINATION=`echo $ORIGINE &#124; sed -e « s/Dragon.Ball.Z/DBZ/g »` DESTINATION=`echo $DESTINATION &#124; sed -e « s/FR.DVDRip.-Jaxx21.\[tvu.org.ru\].//g »` mv ./$ORIGINE ./$DESTINATION done &#60; $LISTE_FICHIERS</p>
<p>The post <a href="https://gagzen.net/2008/11/15/renommage-de-fichiers-en-masse/">Renommage de fichiers en masse</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div>
<p>Un petit script permettant le renommage en masse de fichiers</p>
</div>
<div>
<p><span id="more-245"></span></p>
<p><code>#!/bin/bash</code></p>
<p>LISTE_FICHIERS= »./liste_fichier.tmp »</p>
<p>ls -1 *.avi &gt; $LISTE_FICHIERS</p>
<p>ORIGINE= » »<br />
while read ORIGINE ; do<br />
DESTINATION=`echo $ORIGINE | sed -e « s/Dragon.Ball.Z/DBZ/g »`<br />
DESTINATION=`echo $DESTINATION | sed -e « s/FR.DVDRip.-Jaxx21.\[tvu.org.ru\].//g »`<br />
mv ./$ORIGINE ./$DESTINATION<br />
done &lt; $LISTE_FICHIERS</p>
</div><p>The post <a href="https://gagzen.net/2008/11/15/renommage-de-fichiers-en-masse/">Renommage de fichiers en masse</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Purge de fichiers &#8211; purge_cam.sh</title>
		<link>https://gagzen.net/2008/11/04/purge-de-fichiers-purge_cam-sh/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Tue, 04 Nov 2008 14:05:49 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=78</guid>

					<description><![CDATA[<p>Un script qui purge les images générées par l&#8217;outils motion. #!/bin/bash # # # # # Variables # NB_MAX_FICHIERS=10000 FICHIER_TEMP= »/tmp/purge_cam.tmp » I_LOOP=0 REP_CAM= »/srv/ »$1 touch $FICHIER_TEMP NB_FICHIER=`ls -1 $REP_CAM &#124; wc -l` echo « NB_FICHIER : $NB_FICHIER » if [ « $NB_FICHIER » -gt « $NB_MAX_FICHIERS » ] ; then ls -1tr $REP_CAM &#62; $FICHIER_TEMP echo « NB_FICHIER = $NB_FICHIER : NB_MAX_FICHIERS = $NB_MAX_FICHIERS » [&#8230;]</p>
<p>The post <a href="https://gagzen.net/2008/11/04/purge-de-fichiers-purge_cam-sh/">Purge de fichiers – purge_cam.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Un script qui purge les images générées par l&rsquo;outils motion.</p>
<div>
<p><span id="more-78"></span></p>
<p><code>#!/bin/bash<br />
#<br />
#<br />
#<br />
#</code></p>
<p># Variables #<br />
NB_MAX_FICHIERS=10000<br />
FICHIER_TEMP= »/tmp/purge_cam.tmp »<br />
I_LOOP=0<br />
REP_CAM= »/srv/ »$1</p>
<p>touch $FICHIER_TEMP<br />
NB_FICHIER=`ls -1 $REP_CAM | wc -l`<br />
echo « NB_FICHIER : $NB_FICHIER »<br />
if [ « $NB_FICHIER » -gt « $NB_MAX_FICHIERS » ] ; then<br />
ls -1tr $REP_CAM &gt; $FICHIER_TEMP<br />
echo « NB_FICHIER = $NB_FICHIER : NB_MAX_FICHIERS = $NB_MAX_FICHIERS »<br />
fi</p>
<p>NB_A_SUPPRIMER=$((NB_FICHIER-NB_MAX_FICHIERS))<br />
echo « NB_A_SUPPRIMER : $NB_A_SUPPRIMER »<br />
aLine= » »<br />
while read aLine ;do<br />
if [ « $I_LOOP » -lt « $NB_A_SUPPRIMER » ] ; then<br />
rm -f $REP_CAM »/ »$aLine<br />
fi<br />
I_LOOP=$((I_LOOP+1))<br />
done &lt; $FICHIER_TEMP</p>
<p>#rm -f $FICHIER_TEMP</p>
<p>exit 0</p>
<p>le script est lancé par la crontab toutes les 30 mins :</p>
<p><code>/opt/scripts/purge_cam.sh cam1</code></p>
</div><p>The post <a href="https://gagzen.net/2008/11/04/purge-de-fichiers-purge_cam-sh/">Purge de fichiers – purge_cam.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>amule &#8211; Déplacement des fichiers reçus &#8211; amule_incoming_purge.sh</title>
		<link>https://gagzen.net/2008/11/04/amule-deplacement-des-fichiers-recus-amule_incoming_purge-sh/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Tue, 04 Nov 2008 14:04:09 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[WorkStation]]></category>
		<category><![CDATA[amule]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=76</guid>

					<description><![CDATA[<p>Ce script déplace les fichiers reçus par amule dans un répertoire défini (sauf ceux commençant par *Linux_*).Il envoie aussi un mail pour avertir de la fin de réception (enfin surtout du déplacement)à.&#160; Script lancé via la crontab (toute s les 5mins pour ma part). Pré-requis : amule amule_incoming_purge.sh #!/bin/sh # # # #################### # Variables [&#8230;]</p>
<p>The post <a href="https://gagzen.net/2008/11/04/amule-deplacement-des-fichiers-recus-amule_incoming_purge-sh/">amule – Déplacement des fichiers reçus – amule_incoming_purge.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div>Ce script déplace les fichiers reçus par amule dans un répertoire défini (sauf ceux commençant par *Linux_*).Il envoie aussi un mail pour avertir de la fin de réception (enfin surtout du déplacement)à.&nbsp;</p>
<p>Script lancé via la crontab (toute s les 5mins pour ma part).</p>
<p>Pré-requis :</p>
<ul>
<li>amule</li>
</ul>
</div>
<p><span id="more-240"></span></p>
<p><code>amule_incoming_purge.sh<br />
#!/bin/sh<br />
#<br />
#<br />
#<br />
####################<br />
# Variables #<br />
####################<br />
export LANG=fr_FR.ISO-8859-15<br />
aLine=""<br />
FICHIER_FIXES="Linux_"<br />
TMP_FILE="/tmp/incoming_amule.tmp"<br />
AMULE_INCOMING="/home/barthoi/.aMule/Incoming/"<br />
DESTINATION="/home/partage/"<br />
#"/home/barthoi/.aMule/Incoming/fini/"<br />
FICHIER_LOG="/home/barthoi/amule_incoming.log"<br />
LIGNE=""<br />
TIME_STAMP=`date '+%D - %H:%M:%S'`<br />
EMAIL_DEST="barthoi@localhost.localdomain"<br />
SUJET="Emule : Nouveaux fichiers"</code></p>
<p>####################<br />
#   on liste le contenu du répertoire#<br />
####################<br />
ls -1 $AMULE_INCOMING | grep -v « fini » | grep -v « $FICHIER_FIXES » &gt; $TMP_FILE<br />
cat $TMP_FILE<br />
####################<br />
#   on parcourt le fichier temp#<br />
####################<br />
while read aLine ;do<br />
LIGNE=`echo $aLine`<br />
`echo « $TIME_STAMP &#8211; $LIGNE » &gt;&gt; $FICHIER_LOG`<br />
mv « $AMULE_INCOMING$LIGNE » $DESTINATION<br />
done &lt; $TMP_FILE</p>
<p>####################<br />
#   on purge la file de partage amule#<br />
####################<br />
if [ -s $TMP_FILE ]; then<br />
echo « &#8212; fichier(s) déplacé(s) &#8212; »<br />
cat $TMP_FILE<br />
amulecmd -P XXX -c « reload shared »<br />
mail -s « $SUJET » $EMAIL_DEST &lt; $TMP_FILE<br />
else<br />
echo « &#8212; pas de fichier(s) à déplacer &#8212; »<br />
fi<br />
####################<br />
#   on supprime le fichier temp #<br />
####################<br />
rm $TMP_FILE<br />
if [ ! -f « $TMP_FILE » ] ; then<br />
echo « &#8212; Suppression fichier temporaire OK &#8212; »<br />
else<br />
echo « &#8212; Suppression fichier temporaire : Echec &#8212; »<br />
fi</p><p>The post <a href="https://gagzen.net/2008/11/04/amule-deplacement-des-fichiers-recus-amule_incoming_purge-sh/">amule – Déplacement des fichiers reçus – amule_incoming_purge.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Script de monitoring Hardware &#8211; monitoring_serveur.sh</title>
		<link>https://gagzen.net/2008/11/04/script-de-monitoring-hardware-monitoring_serveur-sh/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Tue, 04 Nov 2008 13:59:35 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=68</guid>

					<description><![CDATA[<p>Un petit script de monitoring de diverses températures système ainsi que de l&#8217;espace disque. Pré-requis : hddtemp lm_sensors # # Script de monitoring du serveur # # # # Variables export LANG=fr_FR.ISO-8859-15 #echo $LANG # #HDD_1 &#62; 80 Go #HDD_2 &#62; 500 Go #HDD_3 &#62; 120 Go HDD_SIZE_1=95 HDD_SIZE_2=95 HDD_SIZE_3=80 HDD_TEMP_1=50 HDD_TEMP_2=50 HDD_TEMP_3=50 CM_TEMP=50 CPU_TEMP=60 [&#8230;]</p>
<p>The post <a href="https://gagzen.net/2008/11/04/script-de-monitoring-hardware-monitoring_serveur-sh/">Script de monitoring Hardware – monitoring_serveur.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div>
<p>Un petit script de monitoring de diverses températures système ainsi que de l&rsquo;espace disque.</p>
<p>Pré-requis :</p>
<ul>
<li>hddtemp</li>
<li>lm_sensors</li>
</ul>
</div>
<div>
<p><span id="more-238"></span></p>
<p>#<br />
# Script de monitoring du serveur<br />
#<br />
#<br />
#<br />
# Variables<br />
export LANG=fr_FR.ISO-8859-15<br />
#echo $LANG<br />
#<br />
#HDD_1 &gt; 80 Go<br />
#HDD_2 &gt; 500 Go<br />
#HDD_3 &gt; 120 Go</p>
<p>HDD_SIZE_1=95<br />
HDD_SIZE_2=95<br />
HDD_SIZE_3=80<br />
HDD_TEMP_1=50<br />
HDD_TEMP_2=50<br />
HDD_TEMP_3=50<br />
CM_TEMP=50<br />
CPU_TEMP=60<br />
ERR= »0&Prime;<br />
SUJET= »Monitoring serveur »<br />
EMAIL_DEST= »barthoi@localhost.localdomain »<br />
TMP_FILE= »/tmp/monitoring_serveur.tmp »</p>
<p># Création du fichier temporaire (vide si pas d&rsquo;alerte)<br />
touch $TMP_FILE<br />
#Valeur en % d&rsquo;utilisation dela partition /<br />
VAR_TEMP=`df -h / |tail -1 | cut -c41-42`<br />
if [ « $VAR_TEMP » -gt « $HDD_SIZE_1 » ] ; then<br />
echo « Espace disque disque élevée (/) : $VAR_TEMP% (limite : $HDD_SIZE_1%) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi<br />
VAR_TEMP=`df -h /home |tail -1 | cut -c41-42`<br />
if [ « $VAR_TEMP » -gt « $HDD_SIZE_2 » ] ; then<br />
echo « Espace disque disque élevée (/home): $VAR_TEMP% (limite : $HDD_SIZE_2%) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi<br />
VAR_TEMP=`df -h /opt |tail -1 | cut -c41-42`<br />
if [ « $VAR_TEMP » -gt « $HDD_SIZE_3 » ] ; then<br />
echo « Espace disque disque élevée (/opt): $VAR_TEMP% (limite : $HDD_SIZE_3%) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi</p>
<p>#Temperature du disque sda<br />
VAR_TEMP=`sudo hddtemp -n /dev/sda`<br />
if [ « $VAR_TEMP » -gt « $HDD_TEMP_1 » ] ; then<br />
echo « Température HDD_1 trop élevée : $VAR_TEMP (limite : $HDD_TEMP_1°C) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi</p>
<p>#Temperature du disque sdb<br />
VAR_TEMP=`sudo hddtemp -n /dev/sdb`<br />
if [ « $VAR_TEMP » -gt « $HDD_TEMP_2 » ] ; then<br />
echo « Température HDD_2 trop élevée : $VAR_TEMP (limite : $HDD_TEMP_2°C) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi<br />
#Temperature du disque sdc<br />
VAR_TEMP=`sudo hddtemp -n /dev/sdc`<br />
if [ « $VAR_TEMP » -gt « $HDD_TEMP_3 » ] ; then<br />
echo « Température HDD_3 trop élevée : $VAR_TEMP (limite : $HDD_TEMP_3°C) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi</p>
<p>#Temperature CM<br />
VAR_TEMP=`sudo sensors | grep « temp2&Prime; |cut -d »+ » -f2 |cut -d ». » -f1 |cut -d »° » -f1`<br />
if [ « $VAR_TEMP » -gt « $CM_TEMP » ] ; then<br />
echo « Température CM trop élevée : $VAR_TEMP (limite : $CM_TEMP°C) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi</p>
<p>#Temperature CPU<br />
VAR_TEMP=`sudo sensors | grep « Core 0&Prime; |cut -d »+ » -f2 |cut -d ». » -f1 |cut -d »° » -f1`<br />
if [ « $VAR_TEMP » -gt « $CPU_TEMP » ] ; then<br />
echo « Température CPU_0 trop élevée : $VAR_TEMP (limite : $CPU_TEMP°C) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi<br />
VAR_TEMP=`sudo sensors | grep « Core 1&Prime; |cut -d »+ » -f2 |cut -d ». » -f1 |cut -d »° » -f1`<br />
if [ « $VAR_TEMP » -gt « $CPU_TEMP » ] ; then<br />
echo « Température CPU_1 trop élevée : $VAR_TEMP (limite : $CPU_TEMP°C) » &gt;&gt; $TMP_FILE<br />
ERR= »1&Prime;<br />
fi</p>
<p># Test final pour envoi ou non du message.<br />
if [ « $ERR » = « 0 » ] ; then<br />
echo « Tous les moniteurs sont corrects. »<br />
else<br />
cat $TMP_FILE<br />
mail -s « $SUJET » $EMAIL_DEST &lt; $TMP_FILE<br />
fi</p>
<p># suppression du fichier temporaire<br />
rm $TMP_FILE</p>
</div><p>The post <a href="https://gagzen.net/2008/11/04/script-de-monitoring-hardware-monitoring_serveur-sh/">Script de monitoring Hardware – monitoring_serveur.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fichier de configuration</title>
		<link>https://gagzen.net/2008/11/01/fichier-de-configuration/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Sat, 01 Nov 2008 13:57:37 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=63</guid>

					<description><![CDATA[<p>Le fichier de configuration. Le nom du fichier correspond à l&#8217;IP de la machine concernée. ./192.168.0.129.cfg service=mailserver 1 service=vmware-hostd 1 service=privoxy 1 service=mysqld 1 service=pure-ftpd 1 service=motion 1 service=ntpd 1 service=httpd 2 service=simpserver 1 session=xfree espace_disque= temperature= machine_virtuel=vmware-vmx 3</p>
<p>The post <a href="https://gagzen.net/2008/11/01/fichier-de-configuration/">Fichier de configuration</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div>
<p>Le fichier de configuration.</p>
<p>Le nom du fichier correspond à l&rsquo;IP de la machine concernée.</p>
</div>
<div>
<p><strong>./192.168.0.129.cfg</strong><br />
<code>service=mailserver 1<br />
service=vmware-hostd 1<br />
service=privoxy 1<br />
service=mysqld 1<br />
service=pure-ftpd 1<br />
service=motion 1<br />
service=ntpd 1<br />
service=httpd 2<br />
service=simpserver 1<br />
session=xfree<br />
espace_disque=<br />
temperature=<br />
machine_virtuel=vmware-vmx 3</code></p>
</div><p>The post <a href="https://gagzen.net/2008/11/01/fichier-de-configuration/">Fichier de configuration</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nagios &#8211; check_service.sh</title>
		<link>https://gagzen.net/2008/11/01/nagios-check_service-sh/</link>
		
		<dc:creator><![CDATA[Baptiste]]></dc:creator>
		<pubDate>Sat, 01 Nov 2008 13:52:03 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[script]]></category>
		<guid isPermaLink="false">http://www.gagneux.info/index.php/?p=55</guid>

					<description><![CDATA[<p>Un petit script qui permet de surveiller la présence (ou non) d&#8217;un process sous Linux. Le fichier paramètre ressemble à celui-ci. check_services.sh #!/bin/sh # # Check de daemon # # utilisation : #  sh ./check_service.sh [ADRESSE_MACHINE] # # Necessaire : # fichier parametre nomme [ADRESSE_MACHINE].cfg # ####################### # VARIABLES       # ####################### ADRESSE_MACHINE=$1 CONF_FILE="/srv/scripts/$ADRESSE_MACHINE.cfg" TMP_FILE="/tmp/service_$ADRESSE_MACHINE.tmp" UTILISATEUR_LINUX=`whoami` [&#8230;]</p>
<p>The post <a href="https://gagzen.net/2008/11/01/nagios-check_service-sh/">Nagios – check_service.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div>
<p>Un petit script qui permet de surveiller la présence (ou non) d&rsquo;un process sous Linux.</p>
<p>Le fichier paramètre ressemble à <a title="Fichier de configuration" hreflang="fr" href="http://www.gagneux.info/fichier-de-configuration">celui-ci</a>.</p>
<p><span id="more-236"></span></p>
<p><strong>check_services.sh</strong></p>
</div>
<pre>#!/bin/sh
#
# Check de daemon
#
# utilisation :
#  sh ./check_service.sh [ADRESSE_MACHINE]
#
# Necessaire :
# fichier parametre nomme [ADRESSE_MACHINE].cfg
#
#######################
# VARIABLES       #
#######################
ADRESSE_MACHINE=$1
CONF_FILE="/srv/scripts/$ADRESSE_MACHINE.cfg"
TMP_FILE="/tmp/service_$ADRESSE_MACHINE.tmp"
UTILISATEUR_LINUX=`whoami`
EXIT_I=0
MSG_TEXT=""
EXIT_CODE="0"
SERVICE_MAX="0"
SERVICE=""
NB_PROCESS=""
PROCESS_ERREUR="0"
#######################
# Avant de commencer, on verifie la  #
# presence du fichier de configuration #
#et les paramètres #
#######################
if [ ! -e "$CONF_FILE" ] ; then
echo "--- Fichier de configuration $CONF_FILE : Absent. ---"
EXIT_CODE="3"
exit $EXIT_CODE
fi
if [ ! "$1" ] ; then
echo "--- Parametre manquant ---"
EXIT_CODE="3"
exit $EXIT_CODE
fi
ssh nagios@$ADRESSE_MACHINE ps -e &gt; $TMP_FILE
while read aLine ;do
LIGNE_SERVICE=`echo $aLine | grep "service=" |sed "s/service=//g"`
SERVICE=`echo $LIGNE_SERVICE | cut -d " " -f1`
PROCESS=`echo $LIGNE_SERVICE | cut -d " " -f2`
if [ "$SERVICE" != "" ] ; then
SERVICE_MAX=$((SERVICE_MAX+1))
NB_PROCESS=`grep -c -i $SERVICE $TMP_FILE`
fi
case $PROCESS in
0)
if [ "$NB_PROCESS" != "0" ] ; then
MSG_TEXT=$MSG_TEXT"\n\r$NB_PROCESS/0 $SERVICE"
PROCESS_ERREUR=$((PROCESS_ERREUR+1))
fi;;
1)
if [ "$NB_PROCESS" != "1" ] ; then
MSG_TEXT=$MSG_TEXT"\n\r$NB_PROCESS/1 $SERVICE"
PROCESS_ERREUR=$((PROCESS_ERREUR+1))
fi;;
2)
if [ "$NB_PROCESS" == "0" ] || [ "$NB_PROCESS" == "1" ] ; then
MSG_TEXT=$MSG_TEXT"\n\r$NB_PROCESS/X $SERVICE"
PROCESS_ERREUR=$((PROCESS_ERREUR+1))
fi;;
esac
SERVICE=""
NB_PROCESS=""
done &lt; $CONF_FILE
if [ "$PROCESS_ERREUR" != "0" ] ; then
MSG_TEXT="$PROCESS_ERREUR / $SERVICE_MAX Process KO : "$MSG_TEXT
EXIT_CODE="2"
else
MSG_TEXT="$SERVICE_MAX Process OK"
EXIT_CODE="0"
fi
#rm $TMP_FILE
echo $MSG_TEXT | sed -e 's#\\n\\r#&lt;br&gt;#'
echo -e $MSG_TEXT
exit $EXIT_CODE</pre><p>The post <a href="https://gagzen.net/2008/11/01/nagios-check_service-sh/">Nagios – check_service.sh</a> first appeared on <a href="https://gagzen.net">Gagzen</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
