Rechercher : dans
Par :

Script envoi ftp et test du poid de fichier

Dernière réponse le 31 jui 2008 à 11:56:25 vitcz, le 30 jui 2008 à 11:14:22 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « script envoi ftp et test du poid de fichier » dans :
Envoyer des fichiers volumineux par mail VoirEnvoyer de gros fichiers à des amis par courrier électronique n'est pas toujours facile. La plupart des serveurs de messagerie n'acceptent pas des fichiers de taille supérieure à 5 Mo. Néanmoins, il existe des solutions alternatives : Les serveurs...
Envoyer de gros fichiers (pièces jointes) par mail VoirLes systèmes de messagerie bloquent généralement les pièces jointes volumineuses, alors comment faire parvenir un fichier lourd (de plusieurs Mo) à son destinataire ? La solution consiste à utiliser un service d'hébergement temporaire de fichiers...
Utilisation de la commande ftp VoirLe protocole FTP FTP (File Transfer Protocol) est un protocole, c'est-à-dire un langage standard de communication entre deux machines, permettant à des machines de types différents (ou dont le système d'exploitation est différent) de transférer des...
Implantation du code Php VoirL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et...
ASP - Implantation du code VoirInterprétation du code par le serveur Un script ASP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) stocké sur le serveur dans un fichier possédant l'extension...

1

dubcek, le 30 jui 2008 à 12:09:31

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

Répondre à dubcek

2

vitcz, le 30 jui 2008 à 12:40:58

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?

Répondre à vitcz

3

dubcek, le 30 jui 2008 à 13:53:02

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

Répondre à dubcek

4

vitcz, le 30 jui 2008 à 14:31:17

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.

Répondre à vitcz

5

dubcek, le 30 jui 2008 à 14:54:45

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

Répondre à dubcek

6

vitcz, le 30 jui 2008 à 18:26:18

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

Répondre à vitcz

7

vitcz, le 31 jui 2008 à 11:25:06

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

Répondre à vitcz

8

dubcek, le 31 jui 2008 à 11:48:21

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.

Répondre à dubcek

9

 vitcz, le 31 jui 2008 à 11:56:25

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

Répondre à vitcz
Collection CommentÇaMarche.net