En utilisant la commande wget
, comment puis-je autoriser/indiquer à écraser mon fichier local à chaque fois, quel que soit le nombre de fois que j'appelle.
Disons que je veux télécharger un fichier depuis l'emplacement: http: //server/folder/file1.html
Ici, chaque fois que je dis wget http://server/folder/file1.html
, Je veux ceci file1.html
à être écrasé dans mon système local quelle que soit l'heure à laquelle il est modifié, déjà téléchargé, etc. Mon intention/cas d'utilisation ici est que lorsque j'appelle wget, je suis très sûr de vouloir remplacer/écraser le fichier existant .
J'ai essayé les options suivantes, mais chaque option est destinée/destinée à une autre fin.
wget -q http://www.whatever.com/filename.txt -O /path/filename.txt
-q est un mode silencieux, vous pouvez donc le jeter dans un cron sans aucune sortie de la commande
Cette option fonctionne
wget -N http://server/folder/file1.html
info
-N, --timestamping don't re-retrieve files unless newer than
local.
Utilisez curl
à la place?
curl http://server/folder/file1.html > file1.html
Je ne pense pas que vous puissiez le faire à moins de télécharger également les répertoires (passez donc le drapeau -x). Si vous savez ce qu'est le fichier, vous pouvez utiliser -O nom de fichier, par exemple:wget http://yourdomain.com/index.html -O index.html
Non essayé: vous pouvez peut-être travailler avec wget -r --level=0
.
Une autre possibilité: curl -O
écrase (mais il utilise une manière différente de choisir le nom de fichier, qui peut ou non vous intéresser).
Pourquoi ne pas mettre un petit wrapper autour du wget dans votre script?
Le script pourrait déplacer tous les fichiers vers un emplacement temporaire, puis wget les fichiers/pages Web distants.
En cas de succès, supprimez les fichiers dans l'emplacement temporaire. En cas d'échec, replacez les fichiers et déclenchez une erreur.
Il n'y a pas de moyen simple de faire ce que vous voulez en utilisant simplement wget à moins que vous ne connaissiez spécifiquement le nom de tous les fichiers, auquel cas l'option -O vous permettra de forcer le nom du fichier téléchargé.