OK alors j'ai just spécifié mon rep, il semble bien y acceder
#!/bin/bash
PATH=/bin:/usr/bin:/usr/local/bin
WATCHED_DIR=${volume1/downloaded/Import/} #dir
#
inotifywait --recursive \
--quiet \
--event close_write \
--format "%w%f" \
--monitor $WATCHED_DIR | while read newfile
do
echo >&2 "received: $newfile"
# ici ajouter la commande pour envoyer le fichier "$newfile" par email
done
Mais j'ai par contre une erreur: "No Files specified to watch!" dans les logs.
Le folder "volume1/downloaded/Import/" existe (et casse respectée), et j'y ai placé un fichier "test".
Quand je regarde le code source de inotify (https://github.com/inotify-tools/inotify-tools/blob/master/src/inotifywait.c), sur le message en question, je tombe sur
FileList list;
construct_path_list(argc, argv, fromfile, &list);
if (0 == list.watch_files[0]) {
fprintf(stderr, "No files specified to watch!\n");
goto failure;
}
En remontant la chaine, dans "construct_path_list" (https://github.com/inotify-tools/inotify-tools/blob/master/src/common.c), on dirait qu'il attends un --fromfile, ou qu'il considere mon repertoire comme un fichier.
Apres de ce que j'ai compris le --fromfile est normalement juste la en alternative pour pouvoir passer une liste de path sans tous les mettre dans la commande.
J'en deduis donc que ca vient de mon WATCHED_DIR, j'ai enlevé le "1:-" de votre example, mais si je remet WATCHED_DIR=${1:-volume1/downloaded/Import/}
alors il me renvoie "Couldn't watch volume1/downloaded/Imports/: No such file or directory"
J'avoue que si j'ai qq vieilles notions de dev C "basiques", je ne suis pas familier du tout avec le coding sous env linux en général (les paths et autres), et sur syno, donc le "1:-" m'échappe totalement.
Je continue a chercher.