Non so come la gente stia caricando il contenuto in questa cartella, ma potresti voler usare qualcosa di meno tecnologico del monitoraggio della directory con inotify.
Se il protocollo è FTP e si ha accesso al registro del server FTP, suggerisco di accodare quel registro per controllare il caricamento corretto. Questo tipo di approccio innescato da eventi sarà più veloce, più affidabile e meno carico di un approccio di polling con cron tradizionale, e più portatile e più facile da eseguire il debug rispetto a qualcosa che utilizza inotify.
Il modo in cui gestisci questo dipenderà ovviamente dal tuo server FTP. Ho una corsa vsftpd cui i registri comprendono linee come questa:
Fri May 25 07:36:02 2012 [pid 94378] [joe] OK LOGIN: Client "10.8.7.16"
Fri May 25 07:36:12 2012 [pid 94380] [joe] OK UPLOAD: Client "10.8.7.16", "/path/to/file.zip", 8395136 bytes, 845.75Kbyte/sec
Fri May 25 07:36:12 2012 [pid 94380] [joe] OK CHMOD: Client "10.8.7.16", "/path/to/file.zip 644"
L'UPLOAD
linea unica viene aggiunto quando vsftpd ha salvato correttamente il file. Si potrebbe analizzare questo in uno script di shell come questo:
#!/bin/sh
tail -F /var/log/vsftpd.log | while read line; do
if echo "$line" | grep -q 'OK UPLOAD:'; then
filename=$(echo "$line" | cut -d, -f2)
if [ -s "$filename" ]; then
# do something with $filename
fi
fi
done
Se si utilizza uno strumento di upload HTTP, vedere se questo strumento ha un file di log di testo che utilizza per registrare i file in entrata. Se non considera l'aggiunta di una sorta di funzione di logger ad esso, quindi produrrà i registri che è possibile tail
.
http://stackoverflow.com/questions/10366411/linux-triggering-shell-command-on-file-save –