Script envoi ftp et test du poid de fichier

vitcz Messages postés 46 Statut Membre -  
vitcz Messages postés 46 Statut Membre -
Bonjour à tous,

j'essais de passer un envoi de fichier dans un script ftp, mais je me fais jetter proprement

Mon script :

#debut du scrip
ftp -n <<EOF
open $hostname
$username $password
ascii
cd REP
mkdir TEST
put archive.tar.gz
EOF
echo "Fin du transfert"
#fin du script

Mesage d'errreur :

'AUTH GSSAPI': command not understood
'AUTH KERBEROS_V4': command not understood
KERBEROS_V4 rejected as an authentication type
?Invalid command
Please login with USER and PASS.
Please login with USER and PASS.
Please login with USER and PASS.
Please login with USER and PASS.
Passive mode refused. Turning off passive mode.
Please login with USER and PASS.
ftp: bind: Address already in use
Fin du transfert

J'aimerais que mon script fasse le test du poid du fichier et ne réalise l'envoi ssi il est inférieur à 1024 MO, merci pour vos lumières.
Configuration: Windows Vista
Firefox 3.0

9 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    j'essayerais de mettre les commandes de login dans .netrc

    cat << ZZ > ~/.netrc
    machine $hostname
    login $username
    password $password
    ZZ

    et bin pas ascii pour envoyer du binaire
    ftp -n <<EOF
    bin
    cd REP
    mkdir TEST
    put archive.tar.gz
    quit
    EOF
    0
  2. vitcz Messages postés 46 Statut Membre 3
     
    merci pour ta réponse :

    Mais de mon coté, je n'ai plus de message d'erreur, mais pas de résultat non plus.

    plusieurs choses : Je peux mettre les deux paragraphes dans le meme script ?
    Je ne vois pas d'appel du fichier .netrc apres sa création. Doit il etre sur le serveur distant ?

    Le fait que j'ai un symbol "$" dans mon mot de passe peut il poser un probleme ? c'est pour cela que je le renseigne en variable?
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    le .netrc doit être dans le répertoire home de l'utilisateur qui exécute ftp
    oui, tout peut être dans le même script
    le $ veut dire que $user et $password sont des variables d'environnement du shell
    0
  4. vitcz Messages postés 46 Statut Membre 3
     
    merci dubcek pour les précision, Pour ce qui est du dolars, je voulais dire que mon mot de passe en contient un j'esperais que cela negene pas le scipt.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    c'est probable que ça gène, parce que le shell va interpréter le $, essayer de mettre le mdp directement dans le .netrc pour tester
    0
  7. vitcz Messages postés 46 Statut Membre 3
     
    alors, j'ai placé mon fichier .netrc dans /root, il est correctment renseigné : j'arrive à me connecté manuellement, mais le script ne fonctionne pas... Une idée ?

    ftp -n OOO.OOO.O.O <<EOF
    bin
    cd REP
    mkdir TEST
    send archive.tar.gz
    quit
    EOF
    0
  8. vitcz Messages postés 46 Statut Membre 3
     
    Bonjour,

    j'ai bien mon fichier .netrc dans /root, j'arrive a me connecter manuellement depuis le meme serveur et ce sans avoir a entrer log et mot de passe : donc le fichier .netrc fonctionne...

    Mais le script ne focntionne pas, je vous passe le nombre de variantes que j'ai essayé, de toute fçon ça dépasse le nombre de caractères autorisés dans un post...

    si qq'un a une idée ...

    merci
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    enlever le -n
    -n Restrains ftp from attempting ``auto-login'' upon initial con-
    nection. If auto-login is enabled, ftp will check the .netrc
    (see below) file in the user's home directory for an entry
    describing an account on the remote machine.
    0
  10. vitcz Messages postés 46 Statut Membre 3
     
    Ouiiii exdactment, le 1001 eme essai était le bon, mais je comprend mieux avec ton explication.

    donc

    ftp 00.00.00.00 <<EOF
    bin
    cd REP
    send $filename.tar.gz
    quit
    bye
    EOF

    merci ca marche impec et on peut passer des variables
    0