Utilisation de NCFTPPUT

Résolu/Fermé
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 - 20 sept. 2011 à 15:02
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 21 sept. 2011 à 14:22
Bonjour,

j'utilise ncftpput dans mes scripts bash pour envoyer des fichiers sur des comptes FTP. Pour cela j'ai crée un fichier par client avec leur paramètres de connexion de la sorte :

host ftp.domaine.fr
user batman
pass robin
path batmobile


J'utilise donc les paramètres (host,user,pass et path). Existe t il d'autres parametres. En effet je cherches a savoir si je peux ajouter un paramètre pour renseigner le délai du time out par client. Actuellement ce délai est le même pour tous mes clients et il est renseigné dans mon script bash comme suit :
ncftpput -t 90


Merci de votre aide.



10 réponses

zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 15:26
Salut,

Il y a un truc qui m'échappe là... ;-\

Tes fichiers clients tu les appelles un par un via :

ncftpput -t xx -f fichier_client1.cfg

donc, je ne vois pas où est ton problème, tu peux très bien fixer le timeout en fonction du client appelé non ?
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
20 sept. 2011 à 15:46
Salut,

non puisque c'est un script global avec la ligne suivante donc je ne peux pas renseigner un time out diffèrent par fichier.

ncftpput -d ${TMP}/${conf}_ncftp.log -t 100 -z -f $CONFDIR/${conf}.ncftp $path $zipfile
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 15:51
Oups, désolé ;-(

Je ne connais pas du tout ncftpput, j'ai juste lu la page de man.

Tu veux dire que -f $CONFDIR/${conf}.ncftp contient la liste de tous les clients (host+name+pass+path) ???
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
Modifié par pcsystemd le 20/09/2011 à 16:19
Effectivement $CONFDIR contient tous les fichiers et la variable ${conf} correspond au nom de chaque fichier client du style :

client1.ncftp
client2.ncftp
etc...
L'accès au savoir est la première liberté que chaque homme devrait avoir.
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 16:22
Ok.

Par contre je tombe toujours sur la même page de man quelque soit le site...

Pourrais-tu me dire où tu as pêché le fait qu'on puisse déclaré le path dans le fichier ?

Dans toutes les pages de man il est fait état de host+name+pass mais jamais de path ;-\
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
20 sept. 2011 à 16:29
Nulle part en faites c'est en faisant des essais que j'ai trouvé que path fonctionne. Je l'utilise depuis plusieurs années sans problème.
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 16:30
Ben à tout hasard tente un "timeout xx" ;-\

;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
20 sept. 2011 à 16:35
Déjà fait :-o)
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 16:37
;-))

Même la variante "time xx" ? ;-)
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
20 sept. 2011 à 16:39
Aussi ;-)
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 16:40
Ben apparemment il faudra te contenter d'un timeout commun ;-(

Désolé ;-)
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
20 sept. 2011 à 16:46
Peut être qu'il y a une solution en remplaçant le -t 100 par une variable qui renvoi vers un fichier avec la valeur du time out ainsi on peux peut être avoir un fichier par client et donc un time out diffèrent par client. Je vais testé.
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
20 sept. 2011 à 17:25
Zipe,

je rectifie ce que j'ai dit concernant path dans le fichier de conf ncftp. En faites je match le mot clé path depuis mon script pour que cela fonctionne comme cela :

path='grep '^path' $CONFDIR/${conf}.ncftp | cut -d' ' -f2'


Désolé mais cela fait un bail que j'avais fait cela donc je ne m'en souvenait plus.

Donc pour time out c'est idem je vais matcher et ce sera ok
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
20 sept. 2011 à 17:49
Tu me diras que malgré ça j'ai du mal à comprendre comment tu peux passer tout ça avec une seule ligne de commandes ;-\

Normalement les options n'acceptent qu'un paramètre (-f fichier ou -t xx), donc je n'arrive pas à concevoir que tu puisses passer plusieurs fichiers à l'option -f, sans compter que comme le path est inclus dans le fichier, comment tu peux t'en sortir avec ton grep ;-\
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
21 sept. 2011 à 09:11
Euh non dans un script bash tu peux passer a ncftpput autant d'options que tu veux, c'est ce que l'on fait et cela fonctionne très bien depuis des années.
Pour ce qui est du path, je penses que tu confond entre le path ou se trouve le fichier de conf et le mot clé path qui correspond au path du FTP.

Par exemple cette ligne fonctionne parfaitement dans notre script bash:

ncftpput -d ${TMP}/${conf}_ncftp.log -t 85 -z -f $CONFDIR/${conf}.ncftp $path $zip


Bonne journée.

L'accès au savoir est la première liberté que chaque homme devrait avoir.
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
21 sept. 2011 à 09:15
Mais ta commande est lancée dans une boucle alors ???
0
pcsystemd Messages postés 668 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 4 octobre 2022 20
21 sept. 2011 à 14:13
Effectivement ça boucle sur chaque fichier client.
0
zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 571
21 sept. 2011 à 14:22
Ben voilà que tout s'éclaire ;-))

A ce moment là tu peux donc faire un test "case ... esac" en fonction du client dans ta boucle et fixer le timeout ;-))
0