Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/11/2007, à 19:09

Tamaris

[Résolu] Espionner un dossier...

'Jour,

Mon titre est beau, n'est-ce pas?:rolleyes:
Bon, j'en viens à  la question fatidique : J'ai un dossier de mon système que j'aimerai "espionner" si le terme est juste pour qu'un script (ou autre) m'avertisse que quelque chose à  changé dans ce dossier (dossier et non fichier), comme un nouveau fichier qui s'est rajouté, un nouveau lanceur, etc... Enfin quelque chose de nouveau.

Je bosse sur la mise-à -jour du menu d'Xfce (problème de mise à  jour automatique contre une personnalisation de celui-ci). Si quelqu'un se sent le courage d'aller là -dedans nous aider, utilisateurs d'Xfce, voici l'adresse du topic : http://forum.ubuntu-fr.org/viewtopic.php?id=144091

Dans l'idée, j'aurais aimé pouvoir faire une interface en zenity pour indiquer à  l'utilisateur qu'il y a du nouveau du cà´té de /usr/bin/applications/ quand un nouveau fichier.desktop est créé et le cas échéant demander s'il faut en rajouter une entrée dans le menu. Ce serait un simulacre de mise à  jour automatique mais ça résoudrait bien des problèmes de notre cà´té...

Si quelqu'un à  une idée, je suis là  wink.

++

Dernière modification par Tamaris (Le 22/11/2007, à 19:19)


Sauvez un bisounours, mangez des carottes.

Hors ligne

#2 Le 16/11/2007, à 20:19

abetsic

Re : [Résolu] Espionner un dossier...

Je ne sais pas si il existe une fonction qui fait ce que tu cherches mais tu peux regarder du coté de la commande stat qui renvoie diverses informations sur le fichier passé en argument... Et au passage un dossier n'est rien d'autres qu'un fichier dans l'esprit unix, donc ça marche en passant un dossier en argument.

La ligne qui t'intéresse devrait être la dernière... Par contre un changement sur un dossier peut signifier pas mal de choses : suppression d'un fichier, modification d'un fichier, création d'un fichier et certainement des choses que j'oublie.
C'est donc à  ton script de gérer ces choses là ...

Bonne chance pour ton script, tu peux le poster une fois qu'il sera écrit, à  mon avis ça peut être utile à  d'autres.

Hors ligne

#3 Le 16/11/2007, à 20:44

Tamaris

Re : [Résolu] Espionner un dossier...

Merci pour ta réponse, c'est un pas en avant.

Je regarde la commande stat que je ne connaissais pas ça me donne les dates/horaires d'accès, modification et changements effectués dans le fichier/dossier.
Malgré tout, je ne m'y connais pas en script shell (si si) mais je vais m'y pencher un peu.

Si d'ici quelques jours je ne donne pas signe de vie, appelez le S.A.M.U., je me serais noyé entre deux lignes de codes. lol

++


Sauvez un bisounours, mangez des carottes.

Hors ligne

#4 Le 17/11/2007, à 01:19

Sleipnir

Re : [Résolu] Espionner un dossier...

Bjr,

Et si tu faisais un log de référence avec tous les dossiers à  surveiller, pour vérifier si il y a eu des modifications, il suffit de créer un nouveau log et de le comparer au log de référence.
Pour créer un log, un simple

ls -R /home/dossier_1_à _surveiller > log_ref.txt 
ls -R /home/dossier_2_à _surveiller >> log_ref.txt
ls -R /home/dossier_3_à _surveiller >> log_ref.txt

#Pour afficher les fichiers cachés
#ls -Ra /home/dossier_à _surveiller

Et pour comparer

diff 'log_ref.txt' 'nouveau_log.txt' 

# Le résultat en sortie
16a17
> /home/.../fichier_different1
29a31
> /home/.../fichier_different2

# donc un petit grep pour isoler les noms de fichiers 
diff fichier_1 fichier_2 | grep ">" | cut -d ">" -f2

#résultat
/home/.../fichier_different1
/home/.../fichier_different2

Hors ligne

#5 Le 22/11/2007, à 19:18

Tamaris

Re : [Résolu] Espionner un dossier...

Yop les gens.

Le script est terminé et à  pris une voie différente par rapport à  ce qu'il était au début.

L'épilogue par là  --> http://forum.ubuntu-fr.org/viewtopic.php?id=168135

Merci à  tous ++


Sauvez un bisounours, mangez des carottes.

Hors ligne