Wget erreur de memory tue le process

Je voulais sauvegarder tous mes files .vcf depuis mon server carddav (ownCloud). Le script est très simple et est le suivant:

$ wget -Avcf -r -np -l0 --no-check-certificatee -e robots=off --user=user \ --password='password' https://cloud.domain.com/foo/carddav 

Le nombre total de files .vcf est d'environ 400, après avoir téléchargé environ 70 d'entre eux, wget renvoie cette erreur:

ss d'erreur

URL originale: http://oi40.tinypic.com/2ch9itt.jpg

Ce qui tue le process parce que le système est "épuisé". Le système est une machine virtuelle Debian Wheezy, hébergée sur Windows 7. J'ai essayé d'augmenter la RAM à 1024 Mo au lieu des 128 Mo actuels, mais le problème existe toujours.

Des suggestions sur la façon de contourner ce problème ou sur d'autres moyens d'y parvenir?

Il semble que les loops wget provoquent un débordement de memory .
La première suggestion naturelle est d'augmenter à nouveau la memory de votre instance de nuage de 1 Go à 2 Go. Cela a résolu un problème similaire récemment.

Si cela n'est pas possible ou ne résout pas le problème, la seconde solution consiste à exécuter wget en 2 étapes:

  1. Récupérer la list des files. Comme je le vois dans votre capture d'écran, les files se trouvent dans le directory cloud.some_domain.com/remote.php/carddav/addressbooks/your_name/ .
    Alors, exécutez wget pour get l'index du directory:
    wget https://cloud.some_domain.com/remote.php/carddav/addressbooks/your_name/
    Cela vous donnera un file index.html .

  2. Maintenant, vous pouvez l'parsingr pour récupérer les noms de files à download:

     grep ".vcf" index.html | awk -F"href=" '{print $2}' | awk -F\" '{print $2}' > ALL_VCF_FILES.lst for elt in `cat ALL_VCF_FILES.lst` do wget https://cloud.some_domain.com/remote.php/carddav/addressbooks/your_name/$elt done rm ALL_VCF_FILES.lst index.html