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 29/12/2009, à 04:17

mel4

[résolu] surveiller les modifications d'un fichier

Bonsoir,
Je cherche à créer un script qui permettra de :
1- exporter un fichier .bib en .html (ca j'ai trouvé)
2- modifier une ligne dans le fichier (aussi trouvé)
3- déplacer ce fichier dans un autre répertoire (ok aussi)
4- qui sera exécuté lors du changement du fichier .bib (modification de son poids et/ou date, pas d'importance)
C'est cette étape qui me bloque. Je ne trouve pas comment vérifier si le fichier a été modifié et ensuite lancer le script d'export.
Existe-t-il une commande qui fasse cela? Ou une combinaison de diff et cron?
Je précise que j'en suis à mes premières armes en termes de script sh...
Merci de l'aide,
Mélanie

Dernière modification par mel4 (Le 30/12/2009, à 06:22)

Hors ligne

#2 Le 29/12/2009, à 04:49

sputnick

Re : [résolu] surveiller les modifications d'un fichier

mel4 a écrit :

C'est cette étape qui me bloque. Je ne trouve pas comment vérifier si le fichier a été modifié et ensuite lancer le script d'export.

utilise inotify ( inotifywait )


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 30/12/2009, à 06:22

mel4

Re : [résolu] surveiller les modifications d'un fichier

Merci pour la piste! inotify semble bien trop compliqué pour moi, mais j'ai découvert "incrontab" qui fait exactement ce que je veux, c'est-à-dire qu'il surveille un fichier/dossier et déclenche le script s'il y a eu modification.
Merci!

Hors ligne

#4 Le 30/12/2009, à 15:37

sputnick

Re : [résolu] surveiller les modifications d'un fichier

Compliqué ? Les exemples du man sont clairs comme de l'eau de roche !? oO

while inotifywait -e create /tmp/test; do
    echo "Quelque chose a bougé chef, on sort le bouzin ? ( On va tous les niquer... )"
done

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#5 Le 30/12/2009, à 15:43

nesthib

Re : [résolu] surveiller les modifications d'un fichier

@sputnick : petite question.
j'ai fait des tests pour surveiller la modification d'un fichier avec donc l'option "-e modify" puis je bidouille mon fichier avec vi sur un autre terminal. Problème j'ai le retour IGNORED au lieu de MODIFY. Ceci est dû au fait que vi ne modifie pas directement le fichier (pas comme un echo abc >>fichier par ex.) mais travaille sur un fichier temporaire puis remplace le fichier d'origine lors de l'enregistrement. Ainsi dans le processus le fichier d'intérêt n'est pas modifié au sens strict mais supprimé et recréé.
As-tu une idée simple pour contourner ce problème (avec inotify j'entends) pour voir si un fichier est modifié (au sens utilisateur, pas au sens strict système de fichier) quelque soit la méthode de modification?

Dernière modification par nesthib (Le 30/12/2009, à 15:45)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 30/12/2009, à 18:31

sputnick

Re : [résolu] surveiller les modifications d'un fichier

ben tu surveille un repertoire et pas un fichier, donc ca devrais suffire ( /tmp/test de mon exemple est un dossier ).


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 30/12/2009, à 18:44

nesthib

Re : [résolu] surveiller les modifications d'un fichier

pareil… bon je chercherai ça plus tard


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 30/12/2009, à 22:30

Totor

Re : [résolu] surveiller les modifications d'un fichier

bonsoir,
j'ai déjà été confronté à ce soucis : pour le contourner j'ai surveillé un fichier portant le même nom mais ayant en plus l'extension .tmp


-- Lucid Lynx --

Hors ligne