Forum Astuces.divers [Terminal] Script pour télécharger un fichier par FTP

Posté par (page perso) .
Tags : aucun
0
5
mar.
2005
Un script pour télécharger un fichier de backup et le renommer par la suite.

#!/bin/bash

# we never know :) ifup eth0

ftp -pn your.ftp.net <<EOF
quote USER login
quote PASS password
get backup_file
quit
EOF

DATE=`stat -c %y backup.sql |cut -d. -f1`
DATE=`date +%Y%m%d%H%M%S -d "$DATE"`
mv backup_file backup$DATE_file
  • # Euhh et wget ?

    Posté par (page perso) . Évalué à 2.

    Sachant 1 que wget gere le ftp, 2 que le telechargement du fichier va changer sa date de creation locale a l'heure actuelle il est plus simple de faire ceci:

    #!/bin/bash
    # we never know :)
    USER=
    PASSWORD=
    SITE=
    URI=
    ifup eth0
    DATE=`date +%Y%m%d%H%M%S"
    wget ftp://l$USER:$PASSWORD@$SITE/$URI(...) -O $URI-$DATE
    • [^] # Re: Euhh et wget ?

      Posté par (page perso) . Évalué à 2.

      indeed, je viens de voir le problème avec la date locale.
      Par contre, si mon login contient @, je fais comment ?
      puisque ftp://USER@TRUC:PASSWD@SITE(...)
      renvoie : port incorrect... et que --http-user ne marche que pour http justement...
      • [^] # Re: Euhh et wget ?

        Posté par . Évalué à 2.

        Utiliser le caratère \ avant l'@ du login à ce moment là ;)
        • [^] # Re: Euhh et wget ?

          Posté par (page perso) . Évalué à 2.

          non, marche pas non plus :) (mauvais numéro de port...)
          d'ailleurs, dansle script plus haut, j'avais oublié l'option : binary
        • [^] # Re: Euhh et wget ?

          Posté par (page perso) . Évalué à 2.

          réponse de la mailing-list wget, il faut utiliser %40 au lieu de @.
          (ou passer par des faux paramètres proxy.)
  • # zftp rulez :)

    Posté par (page perso) . Évalué à 1.

    Sur ZSH y a un module prévu à cet effet : zftp :)
    "info zsh" pour plus d'information
  • # Compatibilité

    Posté par (page perso) . Évalué à -1.

    Comme une autre astuce, il vaut mieux mettre :

    #! /bin/sh

    mais il faut etre sur que wget existe sur la plateforme !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.