SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 72 visiteurs en ce moment

Accueil > Administration et BDD > Sauvegardes > Sauvegarder le répertoire IMG/ avec wget

Sauvegarder le répertoire IMG/ avec wget

20 février 2007 – par Fil – 10 commentaires

6 votes

Comment sauvegarder IMG/ ? Par FTP c’est pénible... voici un système qui simplifie la vie.

Côté serveur, on crée le squelette toutimg.html, composé d’une seule ligne :

Côté client, sur la machine qui doit recevoir la sauvegarde, on lance le script suivant, sur la ligne de commande :

A condition bien entendu d’avoir installé au préalable la commande wget (http://fr.wikipedia.org/wiki/Wget), on récupère ainsi tout le contenu du répertoire IMG/.

Les options de wget ont été choisies de manière à recopier l’arborescence du répertoire (option -x), et à ne pas télécharger plusieurs fois un document qu’on a déjà chargé (-nc).

P.-S.

Il est possible de se passer du squelette côté serveur, en utilisant les options de récursion de wget. Toutefois, c’est un peu moins précis : car si le site contient des documents .html, wget suivra les liens internes de ces documents, ce qui n’est pas forcément souhaitable ; de plus si le répertoire IMG/ est « protégé » par un fichier index.html, wget ne saura pas où trouver les documents.

Cela étant dit, voici le code :

Les options -r et -np signifiant respectivement : « récursif » et « ne pas remonter l’arborescence (no-parent) ».

Dernière modification de cette page le 20 février 2007

Retour en haut de la page

Vos commentaires

  • Le 24 février à 16:57, par DD En réponse à : Sauvegarder le répertoire IMG/ avec wget

    Cela fonctionne nickel. J’ai 2 petites questions :

    Est-ce que cela signifie que tout humain ou machine allant à l’url toutimg.html peut télécharger le dossier IMG complet y compris ce qui est dans /protege ?

    Quelle est la syntaxe pour exclure les documents dans /distant ?

    merci

    Répondre à ce message

  • Le 24 février à 04:45, par ChristianD. En réponse à : Sauvegarder le répertoire IMG/ avec wget

    Bonjour,

    Dans mon répertoire IMG, quand je suis en Ftp, je ne vois pas toutes les images. Par ex, une image appelée « image de Marcel » apparait bien quand je suis en Ftp mais quand je la renomme " « image_de_Marcel », je ne la vois plus. C’est pourtant cette syntaxe qui est utilisée par Spip. Et par Ftp quand je vois le nombre de fichiers, il n’est décompté que les fichiers qui sont dans la 1re syntaxe de mon exemple.

    Je ne sais pas où vont les fichiers de la seconde syntaxe.

    Ce script me permettra de tout copier ? Même les fichiers que je ne vois pas par Ftp ?
    Et si quelqu’un peut me dire comment visualiser TOUS les fichiers, même ceux avec underscore...

    Merci de vos réponses.

    Répondre à ce message

  • Le 23 février 2007 à 15:20, par jean-guy En réponse à : Sauvegarder le répertoire IMG/ avec wget

    Au risque de passer pour un idiot : quel est l’avantage de cette technique par / à une simple copie de répertoire via FTP ?

    JG

    • Le 23 février 2007 à 19:43, par rzawutang44 En réponse à : Sauvegarder le répertoire IMG/ avec wget

      Récapitulons :

      I. Avec un client FTP

      à chaque fois qu’on veut copier IMG/ faire :
      1. ouvrir un client (souvent graphique) ftp
      2. sélectionner son serveur
      3. sélectionner IMG/ sur le serveur et le copier vers son disque dur
      fin

      II. Avec la ligne de commande

      - créer le squelette d’une ligne (une fois pour toutes)
      - installer wget (une fois pour toutes)

      à chaque fois qu’on veut télécharger IMG/ faire :
      1. faire un alias dans son /.*sh.alias qui exécute la commande wget OPTIONS
      fin

      Donc une vraie économie :-)

    • Le 20 mai 2007 à 19:37, par Fil En réponse à : Sauvegarder le répertoire IMG/ avec wget

      La grosse différence, c’est que wget ne va pas retélécharger un document qu’il a déjà téléchargé.

    • Le 24 juin 2008 à 22:21, par herve En réponse à : Sauvegarder le répertoire IMG/ avec wget

      Autre solution : lftp

      Une solution ftp qui permet de faire un mirroir sans retélécharger les documents déjà téléchargés.

      http://doc.ubuntu-fr.org/lftp

      http://wiki.monserveurperso.com/wakka.php?wiki=MirroringFTP

      Exemple de syntaxe :

      lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "set ftp:list-options -a ; mirror -e -x dossier_ignoré -x dossier_ignoré /emplacement_distant/ /emplacement_local ; quit"

      Je viens de tester, çà a l’air ok.

    Répondre à ce message

  • Le 27 mai 2007 à 00:09, par martin En réponse à : Sauvegarder le répertoire IMG/ avec wget

    Le script correspond à un vrai besoin, merci

    Chez moi, il a fallu installer ’wget’ et ’curl’ ; mais avec une bonne distribution linux (kubuntu) c’est vraiment simple.

    Ensuite le défi c’est que les fichiers aillent se mettre dans le répertoire que l’on désire : idéalement chez moi : /home/user/public_html/IMG afin de repeupler convenablement le serveur mirroir que je fais tourner en local (c’est pratique pour les tests et me permet d’avoir une sauvegarde fonctionnelle en cas de difficulté avec le serveur).

    wget ne permet pas de désigner le répertoire de destination (ou j’ai pas vu) donc je passe la commande ’cd /home/user/public_html/IMG’ avant celle indiquée dans l’article. Mais il me crée le répertoire /home/user/public_html/IMG/monsite.tld ... ce n’était pas le but ! En enlevant le -x de wget, il met tous les fichiers dans IMG, sans les placer dans les sous répertoires /doc, /pdf ... qui vont bien

    help afin de pouvoir rapatrier les fichiers de IMG *au bon endroit*

    Merci

    • Le 14 juillet 2007 à 21:37, par liver En réponse à : Sauvegarder le répertoire IMG/ avec wget

      Il fallait étudier les options de wget et trouver : -nH qui permet d’éviter de remettre le nom d’hote du site dans le répertoire de destination. Les commandes à passer deviennent donc :

      cd /home/user/public_html/

      SITE="http://www.monsite.tld"; for i in $(curl $SITE/?page=toutimg); do wget -x -nc -nH $SITE/$i; done

      J’ai mis ses deux commandes chez moi à la fin d’un script de sauvegarde de la base de données utilisant mysqldump pour sauvegarder la base sur le serveur, puis scp pour ramener le fichier sql en local, et enfin mysql pour le réinstaller en local.

      Ainsi je dispose d’un miroir complet et opérationnel de mon site sur mon serveur local, comme backup et comme test pour les squelettes ...

    • Le 25 octobre 2007 à 21:36, par ? En réponse à : Sauvegarder le répertoire IMG/ avec wget

      Bonjour,

      Pourrais tu transmettre l’intégralité de ton script ???

      Merci

    • Le 30 octobre 2007 à 23:52, par livier En réponse à : Sauvegarder le répertoire IMG/ avec wget

      Voilà,
      C’est pas optimisé parcequ’il faut encore rentrer tous les mots de passe au fur et mesure que nécessaire. Ca reste donc manuel mais asser simple à déclencher.

      #! /bin/sh
      echo "-----------------------------------------------------"
      echo "Sauvegarde de Monsite "
      echo "-----------------------------------------------------"
      echo
      echo
      echo "Sauvegarde de la base de données"
      echo "En ligne > Seveur local"
      echo "----------------------------------------------"
      echo
      echo "Entrer le mot de passe mysql@monsite"
      read -s secret
      echo "DEBUT de l'exécution DU SCRIPT "
      echo "----------------------------------------------"
      echo
      echo "Sauvegarde de la base en ligne "

      ssh admin@monsite.org "mysqldump --add-drop-table --add-locks -u adminmysql -p$secret  monsite_org_-_spip > /home/monsite/MySQL_monsite.sql"

      echo "MySQL_monsite.sql cree en ligne "
      echo "----------------------------------------------"
      echo
      echo "Transfert du fichier sql en local"
      echo " Donner le mot de passe de admin@monsite.org"

      scp -pC admin@monsite.org:/home/monsite/MySQL_monsite.sql /home/monsite/

      echo "Fin du transfert de la base"
      echo "----------------------------------------------"
      echo
      echo "Sauvegarde du repertoire IMG"
      echo "En ligne > Serveur local"

      cd /home/monsite/www
      # wget recupere les fichier 1 a  1
      # -x                 force la creation de repertoire si necessaire
      # -nc         ne pas recharger un fichier deja present a  la destination
      #-nv                no-verbose (erreurs et info de base seulement affichees) / -q         quiet (pas de sortie)
      # -nH --no-host-directories         Desactive la generation de la racine des repertoires avec le nom de l'hote.
      SITE="http://monsite"; for i in $(curl $SITE/?page=toutimg); do wget -x -nc -nH $SITE/$i; done

      echo "Fin recuperation repertoire IMG "
      echo "----------------------------------------------"
      echo
      echo "Saisir n'importe quoi pour continuer"
      read var
      echo
      echo "Repeuplement de la base locale "

      mysql -u root MySQL_monsite < /home/monsite/MySQL_monsite.sql"
      echo "Fin du repeuplement de la base locale "
      echo -n  "Vous aviez écrit :" $var
      echo
      echo "-----------------------------------------------------"
      echo "Sauvegarde de monsite terminée"
      echo "-----------------------------------------------------"
      echo

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • ORR v2

    21 mai 2013 – 105 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Speedsyndic pour SPIP 2 et SPIP 3

    11 octobre 2010 – 32 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 / 3.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, ajouter (...)

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 110 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans e corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)