IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

lftp pour sauvegarder un site distant en local


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut lftp pour sauvegarder un site distant en local
    Bonjour,

    Je voudrais faire un script bash (sous Mageia) avec lftp pour sauvegarder un site web, situé dans un sous-dossier de la racine du serveur, en excluant un répertoire. Mais ça ne fonctionne pas, je reste bloqué sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Récupération du contenu du répertoire (0) [Établissement de la connexion de données...]
    Ensuite, j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
    Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
    Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QDBusObjectPath)
    Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QDBusObjectPath)
    Voici la commande pour lftp :

    lftp ftp://user:pwd@serveur -e "mirror -x cgi-bin /public_html/dev/site1 /home/user/divers/sites; quit"

    Je ne fais pas de synchro, mon répertoire de destination est supprimé avant chaque sauvegarde, je dois donc tout récupérer à chaque fois (avec les fichiers cachés comme le htaccess, et les css et js.

    J'ai ajouté ces lignes au fichier de conf de lftp, afin de protéger la transmission du compte/mdp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set ftps:initial-prot
    set ftp:ssl-force true
    set ftp:ssl-protect-data tru;
    set ftp:ssl-protect-list true
    Si quelqu'un peut me renseigner svp ?
    Merci d'avance,
    Très cordialement,

    ANDRE Ani
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hello,

    Peux-tu réessayer en activant le mode debug pour essayer d'avoir plus d'info?

    Merci

  3. #3
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Oui, ça pourrait aider. Mais en fait, ça n'a pas l'air d'aider là. Il n'y a rien semble-t-il. Il essaye de se connecter plusiqeurs fois en boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    ---- Connexion à Serveur port 21
    <--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
    <--- 220-You are user number 9 of 50 allowed.
    <--- 220-Local time is now 15:59. Server port: 21.
    <--- 220-This is a private system - No anonymous login
    <--- 220-IPv6 connections are also welcome on this server.
    <--- 220 You will be disconnected after 15 minutes of inactivity.
    ---> FEAT
    <--- 211-Extensions supported:                       
    <---  EPRT
    <---  IDLE
    <---  MDTM
    <---  SIZE
    <---  MFMT
    <---  REST STREAM
    <---  MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
    <---  MLSD
    <---  AUTH TLS
    <---  PBSZ
    <---  PROT
    <---  TVFS
    <---  ESTA
    <---  PASV
    <---  EPSV
    <---  SPSV
    <---  ESTP
    <--- 211 End.
    ---> AUTH TLS
    <--- 234 AUTH TLS OK.                               
    ---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
    Certificate: OU=Domain Control Validated,OU=PositiveSSL Wildcard,CN=*.serveur
     Issued by: C=GB,ST=Greater Manchester,L=Salford,O=COMODO CA Limited,CN=PositiveSSL CA 2
    WARNING: Certificate verification: Not trusted
    <--- 200  MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
    ---> USER user
    <--- 331 User user OK. Password required               
    ---> PASS mdp
    <--- 230-Your bandwidth usage is restricted                
    <--- 230 OK. Current restricted directory is /
    ---> PWD
    <--- 257 "/" is your current location                      
    ---> PBSZ 0
    <--- 200 PBSZ=0                                           
    ---> PROT P
    <--- 200 Data protection level set to "private"           
    ---- CWD path to be sent is `/public_html/dev/site'
    ---> CWD /public_html/dev/site
    <--- 250 OK. Current directory is /public_html/dev/site 
    ---> PASV
    <--- 227 Entering Passive Mode (109,234,162,224,24,24)                    
    ---- Connexion du socket de données à (109.234.162.224) port 6168
    Récupération du contenu du répertoire (0) [Établissement de la connexion de données...]
    Après cette dernière ligne, il recommence plusieurs fois.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Bonjour,

    [hors-sujet] Question: pourquoi lftp? Intuitivement, j'aurais choisi wget (même avec une connexion ftp) [/hors-sujet]
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    En fait, j'ai pensé d'abord à lftp à cause de l'habitude de sauvegarder mes sites en FTP. Puis j'ai pensé aussi à wget, j'ai hésité un peu, et je suis resté sur lftp. Mais, j'ai pas vraiment de raison pour cela. Je veux juste un truc qui puisse me faire mes sauvegardes totales (suppression / copie entière) simplement.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 79
    Points : 170
    Points
    170
    Par défaut
    @lostsoul:
    Le mode debug n'est pas si inutile. On dirait qu'il n'arrive pas à se connecter au canal de données. Un firewall ou un nat qui poserait problème?
    Au delà de ton script, avec un client ftp normal par exemple, tu arrives à faire des ls et des get ?

    @Flodelarab:
    Si son site est en PHP par exemple, le wget va lui rappatrier que les pages interprétées, pas le code source. Pas pratique s'il veut faire une sauvegarde...

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    Par défaut
    Citation Envoyé par apaul Voir le message
    @Flodelarab:
    Si son site est en PHP par exemple, le wget va lui rappatrier que les pages interprétées, pas le code source. Pas pratique s'il veut faire une sauvegarde...
    Il va rapatrier les pages interprétées si tu fais une requête en http. Mais pas en ftp avec login/mot-de-passe autorisé.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  8. #8
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Oui, c'est bien ce que je vois, mais je ne comprends pas pourquoi. Avec Filezilla, je n'ai aucun soucis pour me connecter ou faire des transferts. J'ai coupé mon firewall mais ça ne change rien... Peut-être un truc sur la box à modifier alors ? Mais pourquoi juste avec le script et pas avec Filezilla ?

    Pour wget, c'est vrai que j'avais vu qu'il modifiait les fichiers pour une visualisation en local par exemple, du coup, ce n'est pas ce qu'il me faut du tout.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 79
    Points : 170
    Points
    170
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Il va rapatrier les pages interprétées si tu fais une requête en http. Mais pas en ftp avec login/mot-de-passe autorisé.
    Ah! Au temps pour moi, je n'avais même pas pensé au wget sur du ftp... Désolé!

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 79
    Points : 170
    Points
    170
    Par défaut
    Citation Envoyé par lostsoul Voir le message
    Oui, c'est bien ce que je vois, mais je ne comprends pas pourquoi. Avec Filezilla, je n'ai aucun soucis pour me connecter ou faire des transferts. J'ai coupé mon firewall mais ça ne change rien... Peut-être un truc sur la box à modifier alors ? Mais pourquoi juste avec le script et pas avec Filezilla ?.
    Ton Filezilla, tu l'as lancé sur du ftpS aussi? Parce que ce ne sont pas les mêmes ports (y compris pour le second canal). Peut-être que ton serveur ouvre bien un canal, mais que celui-ci est filtré par le firewall (celui du serveur, mauvaise configuration par exemple).

    Pour t'en assurer, il faudrait essayer filezilla avec du FTPS aussi (je ne sais pas s'il gère ce protocole) ou alors carrément désactiver le SSL dans ton script une fois pour voir si ca passe en FTP "normal".
    Autre solution, peut-être que ton serveur autorise le sftp?

  11. #11
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Bonjour,

    Dans ton log, on voit un passage en mode passif (PASV), es-tu sure que tu dois être dans ce mode ?
    Pour rappel, le mode actif:
    client demande les ports au(x) serveur ftp pour les commande (21) et pour les data (20)
    Pour le passif:
    client demande au serveur le port pour commande (21) mais pour les data, il dit au serveur de venir se connecter chez lui sur un port qu'il écoute.

    Les outils comme filezilla savent géré le fait de passer en actif ou en passif.
    Cordialement.

  12. #12
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    J'ai désactivé le ftps et ça ne change rien. J'ai désactivé le mode passif et ça ne change rien. J'ai remis le ftps. Voilà les dernières lignes de log :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <--- 200 Data protection level set to "private"           
    ---- CWD path to be sent is `/public_html/dev/pascal'
    ---> CWD /public_html/dev/pascal
    <--- 250 OK. Current directory is /public_html/dev/pascal 
    ---> PORT 192,168,1,23,164,92
    <--- 500 I won't open a connection to 192.168.1.23 (only to 5.50.223.99)                  
    ---> LIST
    ---> ABOR
    ---- Fermeture du socket de données avortée
    ---- Fermeture du socket de contrôle
    Récupération du contenu du répertoire (0) [Établissement de la connexion de données...]
    Je n'arrive pas à me connecter en FTPS avec Filezilla, mais d'après mon hébergeur c'est faisable, il faut que je vois ça. Mais pour mon script, rien de plus...
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 79
    Points : 170
    Points
    170
    Par défaut
    Tu désactives le ftps et ca ne passe pas non plus alors que c'est OK avec FileZilla? Bizarre.
    Tu peux nous montrer les logs de FileZilla (en ftp normal)?

    Pour l'actif, tu es derrière un NAT, donc pas gagné.
    Sinon, un truc bête (je ne connais pas lftp), mais dans ta commande, si tu précises le S du ftps (lftp ftps://serveur...) ca change qqchose?

  14. #14
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    je veux pas faire mon lourd mais faire un backup en ftp ... . déjà ...




    ===============

    qd au problème je pense qu'il faut analyser les logs pour trouver ... comme indiqué par apaul

  15. #15
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Même en ajoutant le s, en changeant de port, ça ne change rien. J'ai écris à mon hébergeur pour avoir plus d'infos.

    frp31 : que me conseilles-tu ?
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  16. #16
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    déjà pour ne pas rappatrier une potentielle version corrompue du site suite à une attaque, une injection, un virus ou autre...
    je pousserai le site "propre" au lieu de rappatrier le potentiellement "corrompu".

    de préférence avec rsync plutot qu'avec ftp.

    et enfin sur la machine hebergeante/active que le site soit tout simplement copier de son modèle à un ramdisk.

    ça évite certains perturbations, certaines injections etc puisque les N mount du site en ram disk par semaine, écrase du coup la version accessible corrompue....

    quand à la sauvegarde en elle même sur la machine modèle/developpement des simples tar.gz suffiraient voir même un svn si on veut faire mieux, et juste les copier sur un drive externe de temps en temps

    ça complexifie un peu le truc, mais au moins on ne sauvegarde pas un truc sans savoir si il est corrompu ou non...
    le rsync est transparent vis à vis du site accessible puisqu'il se fait sur le repertoire modele (pas d'interruption de service meme en cas d'echec)
    le mount du site modele sur le ramdisk du vrai site accessible peut être planifier la nuit ou le weekend selon l'importance du site.
    et la sauvegarde coté machine de developpement devient toute simple est totalement maitrisable de bout en bout

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/01/2013, 21h59
  2. Sauvegarder une bdd distante en local
    Par youtpout978 dans le forum Administration
    Réponses: 2
    Dernier message: 04/12/2012, 14h19
  3. site distant et local completement différents
    Par jordddan dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 27/05/2011, 12h22
  4. Réponses: 4
    Dernier message: 25/05/2010, 15h59
  5. equipement necessaire pour connecter 2 sites distants à l'internet
    Par didou180982 dans le forum Développement
    Réponses: 4
    Dernier message: 09/02/2007, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo