2013-08-17 4 views
1

J'utilise inotify-tools où je veux une notification de fichier qui a été créé dans les répertoires récursifsComment obtenir le chemin du répertoire récursive à l'aide inotify-tools dans le terminal

Jusqu'à ici, je suis succesfull

maintenant, je veux obtenir le chemin du répertoire dans lequel un fichier est créé été/sous-évaluées dans les dossiers récursifs

pour exemple le fichier abc.txt est déversée dans le dossier des données/test

Je veux que le chemin à données/test/abc.txt

Voici le code im en utilisant dans le fichier .sh

inotifywait -m -r --format '%f' -e modify -e move -e create -e delete /var/www/cloud/data | while read LINE; 
do 
    php /var/www/cloud/scannner/watcher.php; 
done 

Veuillez s'il vous plaît me aider à obtenir le chemin d'un fichier dans les répertoires sous-évaluées récursives

Vive

Répondre

2

Utilisez le modificateur %w:

inotifywait -m -r --format '%w%f' ....... 

Pour passer la sortie de inotifywait en argument à un script php, qui va le lire pour la variable argv vous pouvez le faire:

inotifywait -m -r --format '%w%f' ....... | while read -r line 
do 
    php script.php "$line" 
done 

Sinon, si vous voulez que le script php pour lire la sortie de inotifywait du standard input, alors vous pouvez juste tuyau à votre script:

inotifywait -m -r --format '%w%f' ....... | php script.php 
+0

Thnx user000001 ... cela a beaucoup fonctionné S'il vous plaît aidez-moi à passer la variable $ line au fichier watcher.php –

+0

@SaideepKankarla a ajouté deux solutions pour cela – user000001

Questions connexes