Avant de commencer à écrire ma propre application à cet effet, il existe peut-être déjà une meilleure solution au problème:
Je dois vérifier tous les jours sur un serveur HTTP les nouveaux fichiers à télécharger et à traiter. Fondamentalement, ce sont des fichiers zip qui doivent être extraits.
Les anciens fichiers sont supprimés un jour et les nouveaux fichiers sont téléchargés plusieurs fois par jour. Je ne veux pas traiter un fichier deux fois.
Ma solution actuelle consiste à enregistrer tous les fichiers localement et à utiliser wget
avec -nc
options, qui est appelée par un cronjob deux fois par jour:
wget -nc -t 10 -o wget.log -r -l 1 --no-parent --reject "index.html*" http://myserver/
Maintenant, je peux analyser le fichier journal, obtenir tous les nouveaux fichiers téléchargés et les traiter:
grep saved wget.log | awk '{ print $6}' # generate a list of downloaded files
Mais je vais accumuler un tas de fichiers sur mon disque dont je n’ai pas besoin. Alors, ai-je besoin d'une base de données pour stocker les fichiers déjà téléchargés et vérifier pour chaque fichier s'il a déjà été traité?