#1 Le 11/10/2012, à 19:52
- weezixx
Détection de fichier => script enclenché
Bonjour,
comment faire pour que dès que, par exemple, j'ai dl un fichier .rar, qu'il soit automatiquement extrait ?
Ou la même chose pour mes fichiers .xtm qu'ils soient compilées.
En gros j'aurai aimé faire un script ou ligne de commande pour dire que dès qu'un fichier apparaît telle commande soit lancée.
Merci encore ;-)
Hors ligne
#2 Le 11/10/2012, à 20:14
- Maisondouf
Re : Détection de fichier => script enclenché
Linux c'est fort, mais il reste certaines choses à faire à la main...
Maintenant, si tes fichiers sont toujours au même endroit quand tu les télécharges, tu peux créer une tâche "cron" pour surveiller cet endroit et lancer la commande appropriée.
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#3 Le 11/10/2012, à 20:42
- Postmortem
Re : Détection de fichier => script enclenché
Salut,
Linux c'est fort et ça sait faire ce que tu demandes !
Voir ici
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#4 Le 11/10/2012, à 21:02
- weezixx
Re : Détection de fichier => script enclenché
Et si je fais un truc du genre :
je fais une recherche find, que je boucle avec while en booléen ? Tant que la condition n'est pas respectée il continue de chercher, et dès qu'elle est égale à 1 hop il fait le script ?
Hors ligne
#5 Le 11/10/2012, à 21:23
- Postmortem
Re : Détection de fichier => script enclenché
Tu peux utiliser find ainsi :
while true
do
find /chemin/de/recherche -name '*.rar' -type f -exec unrar {} \;
sleep 60
done
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#6 Le 11/10/2012, à 21:31
- weezixx
Re : Détection de fichier => script enclenché
J'ai fait un essaie de inotify, j'ai créé un dossier test, et j'ai demandé qu'à l'apparition du fichier test.txt soit créé le fichier hello_world.txt
notifywait -mrq -e CREATE --format %w%f /home/mister_why/Documents/test/ | while read test.txt ; do touch hello_world.txt ; done
mais ça me répond :
bash: read: « test.txt » : identifiant non valable
pour n'importe quel fichier que je créé (via une autre console), comme test.txt ou test.ii etc …
Hors ligne
#7 Le 11/10/2012, à 21:39
- pingouinux
Re : Détection de fichier => script enclenché
Salut,
Après read, c'est un nom de variable qui est attendu. Je verrais plutôt quelque chose comme ça :
notifywait -mrq -e CREATE --format %w%f /home/mister_why/Documents/test/test.txt | while read var ; do touch hello_world.txt ; done
Ajouté :
Soit le fichier n'existe pas, et la commande retourne un message d'erreur
Soit il existe, et on ne peut pas le créer, donc la commande ne sert à rien
Si on supprime le fichier avant de le recréer, la commande ne le voit plus
Dernière modification par pingouinux (Le 11/10/2012, à 23:17)
Hors ligne
#8 Le 11/10/2012, à 21:44
- weezixx
Re : Détection de fichier => script enclenché
@ pingouinux : j'ai du un peu modifier le code
inotifywait -mrq -e CREATE --format %w%f /home/mister_why/Documents/test/ | while read var ; do touch hello_world.txt ; done
et aucun résultat
@ Postmortem : ton code while fonctionne, tu peux m'aider pour inotify ?
Merci encore
Dernière modification par weezixx (Le 11/10/2012, à 21:44)
Hors ligne
#9 Le 11/10/2012, à 21:56
- Postmortem
Re : Détection de fichier => script enclenché
J'ai jamais utilisé ça, je savais que ça existait, c'est tout.
Et suis sur mon tel là donc je peux pas tester.
Mais si pingouinux est encore par là, t'es entre de bonnes mains !
Sinon je pourrai regarder demain.
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#10 Le 11/10/2012, à 23:02
- pingouinux
Re : Détection de fichier => script enclenché
Je ne connaissais pas inotify; je viens de l'installer et de le tester. Pour voir si ça donne un résultat, fais plutôt ceci :
inotifywait -mrq -e create --format "%e %w%f" /home/mister_why/Documents/test/ | while read var ; do echo "$var"; done
Hors ligne
#11 Le 11/10/2012, à 23:17
- weezixx
Re : Détection de fichier => script enclenché
Et la réponse est : D la réponse D
CREATE /home/mister_why/Documents/test/test.txt
Hors ligne
#12 Le 11/10/2012, à 23:21
- weezixx
Re : Détection de fichier => script enclenché
Avec ce code :
inotifywait -mrq -e create --format "%e %w%f" /home/mister_why/Documents/test/ | while read var ; do touch hello_world.txt ; done
Ça fonctionne, ça créé bien hello_world.txt
Mais si à présent je veux spécifier un fichier ? Comme test123.rar
Dès que test123.rar apparaît hop il le décompresse
Hors ligne
#13 Le 11/10/2012, à 23:55
- pingouinux
Re : Détection de fichier => script enclenché
Regarde les remarques que j'ai ajoutées en #7. Je pense qu'il faut continuer à surveiller le répertoire, et tester dans la boucle si le fichier est test123.rar .
rep=/home/mister_why/Documents/test/
cd "$rep"
inotifywait -mrq -e create --format "%f" "$rep" | while read var; do [[ "$var" == test123.rar ]] && unrar "$var"; done
Hors ligne
#14 Le 12/10/2012, à 00:37
- Maisondouf
Re : Détection de fichier => script enclenché
Et la réponse est : D la réponse D
C'est votre dernier mot ?
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#15 Le 12/10/2012, à 00:53
- weezixx
Re : Détection de fichier => script enclenché
weezixx a écrit :Et la réponse est : D la réponse D
C'est votre dernier mot ?
C'est votre ultime bafouille ? ^^
Je continuerai de voir ça demain ;-)
Merci encore !
Ça c'est de la communauté
Hors ligne