<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Commentaires sur : Utilisation de inotifywait dans des scripts Shell</title>
	<atom:link href="http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/feed/" rel="self" type="application/rss+xml" />
	<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/</link>
	<description>Le petit monde de SLiX</description>
	<lastBuildDate>Sun, 11 Nov 2018 17:48:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>Par : patrick L</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-5779</link>
		<dc:creator>patrick L</dc:creator>
		<pubDate>Tue, 17 Jun 2014 19:05:32 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-5779</guid>
		<description><![CDATA[bonsoir 

sur le pirate j&#039;ai pas encore la solution pour déplacer le fichier juste avant la lecture.   

Sur la sauvegarde automatique dans une archive j&#039;ai trouvé une solution viable...  Au moment du close-write je lance la sauvegarde dans une archive tar -uvf /media/externe/archive-$(date +%Y-%m-%d).tar.gz ensuite les fichiers s&#039;ajoutent...  et donc les fichiers sont sauvés et tous les soirs je fais gzip du fichier tar pour en faire un .tar.gz.  que l&#039;on restaure de la maniere classique. 

j&#039;ai trouvé aussi une astuce anti fausse manip. En supprimant un fichier dans un dossier protégé alors on lance un fuser -km pour tuer les processus utilisant le dossier monté donc un disque externe.   

j&#039;ai pas encore fait les codes mais j&#039;ai fait des essais en ligne.]]></description>
		<content:encoded><![CDATA[<p>bonsoir </p>
<p>sur le pirate j&rsquo;ai pas encore la solution pour déplacer le fichier juste avant la lecture.   </p>
<p>Sur la sauvegarde automatique dans une archive j&rsquo;ai trouvé une solution viable&#8230;  Au moment du close-write je lance la sauvegarde dans une archive tar -uvf /media/externe/archive-$(date +%Y-%m-%d).tar.gz ensuite les fichiers s&rsquo;ajoutent&#8230;  et donc les fichiers sont sauvés et tous les soirs je fais gzip du fichier tar pour en faire un .tar.gz.  que l&rsquo;on restaure de la maniere classique. </p>
<p>j&rsquo;ai trouvé aussi une astuce anti fausse manip. En supprimant un fichier dans un dossier protégé alors on lance un fuser -km pour tuer les processus utilisant le dossier monté donc un disque externe.   </p>
<p>j&rsquo;ai pas encore fait les codes mais j&rsquo;ai fait des essais en ligne.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : patrick L</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-5621</link>
		<dc:creator>patrick L</dc:creator>
		<pubDate>Tue, 20 May 2014 19:35:54 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-5621</guid>
		<description><![CDATA[merci de vos informations utiles. 

sinon j&#039;ai pas compris le principe de ce sigchild  ni d&#039;ailleurs le trap...   c&#039;est une sorte de chien de garde des processus qui envoient des signaux en disant je suis là... si j&#039;ai bien compris ce signal alors comment je sais le delai d&#039;envoie des signaux &quot;en vie&quot; ? 

exemple 

 je lance une copie de gros fichier, le processsus envoie les messages...   et à la fin logiquement plus rien.   et alors au bout de N secondes  sans message et bien je tue le processus.   mais si c&#039;est trop court pour la copie de fichier  et bien probleme.]]></description>
		<content:encoded><![CDATA[<p>merci de vos informations utiles. </p>
<p>sinon j&rsquo;ai pas compris le principe de ce sigchild  ni d&rsquo;ailleurs le trap&#8230;   c&rsquo;est une sorte de chien de garde des processus qui envoient des signaux en disant je suis là&#8230; si j&rsquo;ai bien compris ce signal alors comment je sais le delai d&rsquo;envoie des signaux &laquo;&nbsp;en vie&nbsp;&raquo; ? </p>
<p>exemple </p>
<p> je lance une copie de gros fichier, le processsus envoie les messages&#8230;   et à la fin logiquement plus rien.   et alors au bout de N secondes  sans message et bien je tue le processus.   mais si c&rsquo;est trop court pour la copie de fichier  et bien probleme.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : patrick L</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-5620</link>
		<dc:creator>patrick L</dc:creator>
		<pubDate>Tue, 20 May 2014 19:28:19 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-5620</guid>
		<description><![CDATA[j&#039;ai une autre question...  je voudrais faire un piege contre des consultation de données importantes...   genre des comptes en banque..  en dernier recours si jamais le reste etait cassé. 

j&#039;ai un dossier comptes ou importants à surtout pas lire...  je fais alors 

inotifywait -e access  -m -r  --format &quot;%w %f&quot; ~/comptes/  &#124; while read dossier fichier ; do 
mv $dossier$fichier  /media/quelque/part/ ; done

de facon à ce que lorsque le pirate consulte, le fichier soit déplacé ailleurs.]]></description>
		<content:encoded><![CDATA[<p>j&rsquo;ai une autre question&#8230;  je voudrais faire un piege contre des consultation de données importantes&#8230;   genre des comptes en banque..  en dernier recours si jamais le reste etait cassé. </p>
<p>j&rsquo;ai un dossier comptes ou importants à surtout pas lire&#8230;  je fais alors </p>
<p>inotifywait -e access  -m -r  &#8211;format &laquo;&nbsp;%w %f&nbsp;&raquo; ~/comptes/  | while read dossier fichier ; do<br />
mv $dossier$fichier  /media/quelque/part/ ; done</p>
<p>de facon à ce que lorsque le pirate consulte, le fichier soit déplacé ailleurs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : patrick L</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-5619</link>
		<dc:creator>patrick L</dc:creator>
		<pubDate>Tue, 20 May 2014 19:13:31 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-5619</guid>
		<description><![CDATA[j&#039;ai le meme probleme  pour faire un archivage de photos  ou de téléchargements. en quantité importante comme les photos de vacances sur deux semaines...   

alors je charge les photos dans un dossier et alors inotify surveille le dossier et sous dossiers photos.   là les events close_write lancent la copie...  jusque là pas de probleme. 

mais je voudrais sans me poser de question mettre dans une archive à la date des exifs du fichier.  

le probleme est le meme que le monsieur au dessus... à savoir qu&#039;il y a une grosse quantité de fichiers et aussi en poids total des fichiers...  

et surtout les fichiers tar.gz ne peuvent pas ajouter de fichier et je suis coincé... d&#039;accord  je peux les copier simplement dans un dossier du disque de sauvegarde..  et ensuite lancer la sauvegarde et alors supprimer le dossier temporaire pour reprendre la suite.  

ou alors faire une archive tar sans gunzip,  et la gzipper à un moment de la journée...   dans tous les cas les fichiers sont secourus.   mais  bon risque est que soit la creation  de l&#039;archive se passe mal et on supprime le dossier ...  

ou alors le disque de sauvegarde est plein et la creation de l&#039;archive plante le disque de secours ce qui serait un desastre.   

Ou alors que la compression elle aussi se passe mal..  


Ou alors compresser selon  une archive tar sans comprimer.  Mais ca fait alors une copie de taille identique des photos dans l&#039;archive.]]></description>
		<content:encoded><![CDATA[<p>j&rsquo;ai le meme probleme  pour faire un archivage de photos  ou de téléchargements. en quantité importante comme les photos de vacances sur deux semaines&#8230;   </p>
<p>alors je charge les photos dans un dossier et alors inotify surveille le dossier et sous dossiers photos.   là les events close_write lancent la copie&#8230;  jusque là pas de probleme. </p>
<p>mais je voudrais sans me poser de question mettre dans une archive à la date des exifs du fichier.  </p>
<p>le probleme est le meme que le monsieur au dessus&#8230; à savoir qu&rsquo;il y a une grosse quantité de fichiers et aussi en poids total des fichiers&#8230;  </p>
<p>et surtout les fichiers tar.gz ne peuvent pas ajouter de fichier et je suis coincé&#8230; d&rsquo;accord  je peux les copier simplement dans un dossier du disque de sauvegarde..  et ensuite lancer la sauvegarde et alors supprimer le dossier temporaire pour reprendre la suite.  </p>
<p>ou alors faire une archive tar sans gunzip,  et la gzipper à un moment de la journée&#8230;   dans tous les cas les fichiers sont secourus.   mais  bon risque est que soit la creation  de l&rsquo;archive se passe mal et on supprime le dossier &#8230;  </p>
<p>ou alors le disque de sauvegarde est plein et la creation de l&rsquo;archive plante le disque de secours ce qui serait un desastre.   </p>
<p>Ou alors que la compression elle aussi se passe mal..  </p>
<p>Ou alors compresser selon  une archive tar sans comprimer.  Mais ca fait alors une copie de taille identique des photos dans l&rsquo;archive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : nestof</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-4763</link>
		<dc:creator>nestof</dc:creator>
		<pubDate>Wed, 11 Dec 2013 10:44:25 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-4763</guid>
		<description><![CDATA[Merci, je vais regarder du côté de « trap … SIGCHLD »]]></description>
		<content:encoded><![CDATA[<p>Merci, je vais regarder du côté de « trap … SIGCHLD »</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : SLiX</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-4762</link>
		<dc:creator>SLiX</dc:creator>
		<pubDate>Wed, 11 Dec 2013 10:12:14 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-4762</guid>
		<description><![CDATA[Bonne remarque, je n&#039;avais pas fait attention à ce comportement. Cela est dû au lancement des on_event() en arrière-plan (avec &amp;).

Pour l&#039;éviter, il faudrait ajouter un traitement des signaux SIGCHLD (par exemple, dans un &quot;trap ... SIGCHLD&quot;, faire un &quot;wait&quot; sur le PID du sous-processus qui a terminé).

S&#039;il n&#039;y a pas besoin de lancer les tâches en parallèle, il suffit de désactiver le lancement en arrière-plan (supprimer le &amp; des on_event()) pour ne plus avoir de zombies.

Sinon, j&#039;ai remarqué que &quot;bash&quot; a l&#039;air de traiter automatiquement les SIGCHLD lorsqu&#039;il est explicitement appelé (&quot;bash script&quot; ou shebang &quot;#!/bin/bash&quot;). Ce n&#039;est sûrement pas le plus portable, mais si cela peut dépanner le temps d&#039;avoir une solution élégante...]]></description>
		<content:encoded><![CDATA[<p>Bonne remarque, je n&rsquo;avais pas fait attention à ce comportement. Cela est dû au lancement des on_event() en arrière-plan (avec &#038;).</p>
<p>Pour l&rsquo;éviter, il faudrait ajouter un traitement des signaux SIGCHLD (par exemple, dans un &laquo;&nbsp;trap &#8230; SIGCHLD&nbsp;&raquo;, faire un &laquo;&nbsp;wait&nbsp;&raquo; sur le PID du sous-processus qui a terminé).</p>
<p>S&rsquo;il n&rsquo;y a pas besoin de lancer les tâches en parallèle, il suffit de désactiver le lancement en arrière-plan (supprimer le &#038; des on_event()) pour ne plus avoir de zombies.</p>
<p>Sinon, j&rsquo;ai remarqué que &laquo;&nbsp;bash&nbsp;&raquo; a l&rsquo;air de traiter automatiquement les SIGCHLD lorsqu&rsquo;il est explicitement appelé (&laquo;&nbsp;bash script&nbsp;&raquo; ou shebang &laquo;&nbsp;#!/bin/bash&nbsp;&raquo;). Ce n&rsquo;est sûrement pas le plus portable, mais si cela peut dépanner le temps d&rsquo;avoir une solution élégante&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : nestof</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-4756</link>
		<dc:creator>nestof</dc:creator>
		<pubDate>Tue, 10 Dec 2013 21:37:35 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-4756</guid>
		<description><![CDATA[Bonsoir,

J&#039;ai remarqué en exécutant le script que la ligne &quot;on_event $date $time $file &amp;&quot; entraine un processus zombie lorsque les commandes de la fonction on_event(..) sont terminées.
Y-a-t-il un moyen d&#039;éviter cela ?]]></description>
		<content:encoded><![CDATA[<p>Bonsoir,</p>
<p>J&rsquo;ai remarqué en exécutant le script que la ligne &laquo;&nbsp;on_event $date $time $file &amp;&nbsp;&raquo; entraine un processus zombie lorsque les commandes de la fonction on_event(..) sont terminées.<br />
Y-a-t-il un moyen d&rsquo;éviter cela ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : SLiX</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-2835</link>
		<dc:creator>SLiX</dc:creator>
		<pubDate>Wed, 13 Mar 2013 09:36:10 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-2835</guid>
		<description><![CDATA[Vous pourriez utiliser un fichier témoin, c&#039;est-à-dire un fichier au nom prédéfini qui sera créé en dernier (une fois tous les fichiers copiés dans le dossier) et qui est le seul à déclencher le traitement (à filtrer avec les arguments d&#039;inotifywait ou dans on_event()).
Cela implique que la façon dont sont copiés les fichiers permette ce principe, donc plus ou moins automatisé et/ou que vous pouvez contrôler.]]></description>
		<content:encoded><![CDATA[<p>Vous pourriez utiliser un fichier témoin, c&rsquo;est-à-dire un fichier au nom prédéfini qui sera créé en dernier (une fois tous les fichiers copiés dans le dossier) et qui est le seul à déclencher le traitement (à filtrer avec les arguments d&rsquo;inotifywait ou dans on_event()).<br />
Cela implique que la façon dont sont copiés les fichiers permette ce principe, donc plus ou moins automatisé et/ou que vous pouvez contrôler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Nagame</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-2828</link>
		<dc:creator>Nagame</dc:creator>
		<pubDate>Tue, 12 Mar 2013 22:33:12 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-2828</guid>
		<description><![CDATA[Bonjour,

Avant tout, félicitation pour cet article !
C&#039;est exactement ce que je cherchais.

Une difficulté supplémentaire dans mon cas : je dois déclencher l&#039;enregistrement une fois la copie de fichiers dans un dossier terminé (1 ou plusieurs). Le but est d&#039;obtenir un enregistrement par &quot;lot&quot; de copie.

L&#039;event &quot;close_write&quot; est effectivement de mise. Mais une fois dans &quot;on_event&quot;, quel est la meilleur solution ? Un wait ? re-tester si un fichier a été copié ?

Bref, pas évident :/]]></description>
		<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Avant tout, félicitation pour cet article !<br />
C&rsquo;est exactement ce que je cherchais.</p>
<p>Une difficulté supplémentaire dans mon cas : je dois déclencher l&rsquo;enregistrement une fois la copie de fichiers dans un dossier terminé (1 ou plusieurs). Le but est d&rsquo;obtenir un enregistrement par &laquo;&nbsp;lot&nbsp;&raquo; de copie.</p>
<p>L&rsquo;event &laquo;&nbsp;close_write&nbsp;&raquo; est effectivement de mise. Mais une fois dans &laquo;&nbsp;on_event&nbsp;&raquo;, quel est la meilleur solution ? Un wait ? re-tester si un fichier a été copié ?</p>
<p>Bref, pas évident :/</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : SLiX</title>
		<link>http://m.kerlinux.org/2010/08/utilisation-de-inotifywait-dans-des-scripts-shell/#comment-1676</link>
		<dc:creator>SLiX</dc:creator>
		<pubDate>Mon, 15 Oct 2012 08:44:53 +0000</pubDate>
		<guid isPermaLink="false">http://kerlinux.org/?p=397#comment-1676</guid>
		<description><![CDATA[Dans ce cas, il faut utiliser l&#039;évènement &quot;CLOSE_WRITE&quot;.
Comme son nom l&#039;indique, celui-ci est déclenché lors de la fermeture d&#039;un fichier ouvert en écriture, ce qui est normalement le cas à la fin d&#039;un copie.
Je l&#039;utilise pour automatiser des transfert de fichiers et cela fonctionne parfaitement.

Salutations.]]></description>
		<content:encoded><![CDATA[<p>Dans ce cas, il faut utiliser l&rsquo;évènement &laquo;&nbsp;CLOSE_WRITE&nbsp;&raquo;.<br />
Comme son nom l&rsquo;indique, celui-ci est déclenché lors de la fermeture d&rsquo;un fichier ouvert en écriture, ce qui est normalement le cas à la fin d&rsquo;un copie.<br />
Je l&rsquo;utilise pour automatiser des transfert de fichiers et cela fonctionne parfaitement.</p>
<p>Salutations.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
