Il doit être possible de faire passer le fichier à strfile directement par stdin :
| strfile -s -r - /usr/share/fortune/bashfr_fortunes.dat
Non, strfile est tout pourri, car il n'accepte pas de lire sur stdin.
Autres idées pour éviter de surcharger inutilement le serveur pour télécharger un fichier n'ayant pas été modifié :
- si on suppose qu'il n'y a que de ajouts en fin de fichier, utiliser wget -c, ça ne télécharger que les nouvelles lignes
- sinon, utiliser l'option -S de wget pour récupérer uniquement les entêtes HTTP et ainsi la date de dernière modification :
par exemple pour bashfr :
4 Last-Modified: 2006年7月03日 21:50:14 GMT
et se baser sur cette date pour décider de télécharger ou pas le fichier.
Je n'ai pas trouvé d'option dans wget pour comparer cette date fournie par le serveur http avec la date du fichier local et décider en fonction => il faut le faire soi-même
Ou sinon, en contournant le bug de wget lors de l'utilisation simultanée de -N et -O, ca donnerait pour le script :
Ainsi (on peut le voir en enlevant les -o /dev/null et en lançant plusieurs fois de suite le script), les fichiers ne sont récupérés que s'ils ont changé sur le site ==> Moins de charge :)
[^] # Re: moins charger le serveur
Posté par Nicolas Aupetit (site web personnel) . En réponse au message Script pour mettre a jour les fortunes de bashfr et linuxfr. Évalué à 1.
Non, strfile est tout pourri, car il n'accepte pas de lire sur stdin.
Ou sinon, en contournant le bug de wget lors de l'utilisation simultanée de -N et -O, ca donnerait pour le script :
Ainsi (on peut le voir en enlevant les -o /dev/null et en lançant plusieurs fois de suite le script), les fichiers ne sont récupérés que s'ils ont changé sur le site ==> Moins de charge :)