Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[FTP] entre 2 serveurs

sandrill0n, le jeudi 12 mai 2005 à 13:31:23 
 Signaler ce message aux modérateurs

Bonjour,

Je souhaiterais utiliser des données d'un serveur de TEST sur un autre serveur (les deux Unix).

Comment faire pour transférer les données du serveur de TEST vers le serveur de traitement?

J'ai déjà un FTP sur le serveur de TEST, mais c'est lourd de faire des copier-coller du contenu des fichiers à traiter.
Comment faire pour que ces fichiers arrivent directment sur le serveur de Traitement?

Sur le serveur de TEST, il y a déjà un CRON qui tourne et qui classe les fichiers dans les bons répertoires.
Dans le serveur de Traitement, je voudrais garder la même configuration.

Merci

1

moi, le jeudi 12 mai 2005 à 13:48:16

Est ce que les fichiers que tu veux transférer sont dans le même répertoire ??
si oui:
- de ton serveur TEST
scp /.../.../* nomutili@serveurtraitement:/emplacement/
- de ton serveur TRAITEMENT
scp nom_utili@serveurTEST:/emplacement/* .

ceci suppose que tu as un serveur ssh d'installer ...

Répondre à moi

2

sandrill0n, le jeudi 12 mai 2005 à 14:00:57

ça marche aussi pour transférer des répertoires, ou c'est seulement sur des fichiers ?

Répondre à sandrill0n

3

moi, le jeudi 12 mai 2005 à 14:14:37

Si tu mets l'option -r ca sera récursif donc tous les répertoires seront copier aussi
exemple
-essai
|---script
| |---essai.pl
|---script.pdf

scp -r essai/ toto@traitement:temp/
te copira tout le repertoire essai avec ce qu'il contient ...

Je ne sais pas si je suis très clair ...

++

Répondre à moi

4

sandrill0n, le jeudi 12 mai 2005 à 14:20:51

Si ça va j'ai compris
Je tente de le faire avec un CRON sous de serveur TEST
Par contre, je ne peux pas faire de CRON sous le serveur Traitement car je n'ai pas les droits...
En même temps, moi je veux que le tansfert ne se fasse que dans le sens TEST ==> Traitement

Ca peut marcher ?

Répondre à sandrill0n

5

moi, le jeudi 12 mai 2005 à 14:25:46

Aucun problème...
syntaxe: scp source destination

++

Répondre à moi

6

sandrill0n, le mardi 17 mai 2005 à 11:28:08

Est-ce que ça peut marcher dans un CRON ?
C'est à dire pour le lancer toutes les 20 min ?

Répondre à sandrill0n

7

sandrill0n, le mardi 17 mai 2005 à 11:42:46

Est-ce que c'est possible de faire un shell pour pouvoir l'utiliser dans le CRON ?

la commande scp ne fonctionne pas

Répondre à sandrill0n

8

[Dal], le mardi 17 mai 2005 à 13:04:22

Salut Sandrill0n,

Utiliser scp en mode batch suppose que tu gères une authentification automatique. C'est faisable, mais c'est un peu compliqué à mettre en place (avec des certificats).

Vu que tu as déjà un serveur FTP sur le serveur d'origine des données et qu'il s'agit simplement d'en downloader le contenu, tu pourrais simplement utiliser wget pour ce faire. Cet outil permet de downloader récursivement le contenu de répertoires et se trouve en général installé sur tous les Linux.

Vois :

http://www.commentcamarche.net/forum/affich-1332787#2

Que l'accès ftp soit anonyme ou nécessite un mot de passe, tu peux t'en servir en mode batch.


Dal

Répondre à [Dal]

9

sandrill0n, le mardi 17 mai 2005 à 13:15:06

Ben je suis désolée mais wget ne fonctionne pas non plus...

Je travaille sous Unix (Solaris)

Je me suis peut-être mal exprimée...
En fait, ce que je voudrais c'est tranférer un fichier d'un serveur Unix (Test) vers un autre serveur Unix (Données). Je voudrais que cet envoi soit automatisé dans un CROn (comme la génération du fichier que je souhaite récupérer).

Un programme shell existe avec cette commande (parmis tout le traitement des fichiers qui ne m'interresse pas) :

ftp -v -i -n server <<-%
user login passwd


Mais pour le reste (récupération du fichier voulu) je ne sais pas comment faire...

Répondre à sandrill0n

10

[Dal], le mardi 17 mai 2005 à 15:35:53

Salut,

1.

Ben je suis désolée mais wget ne fonctionne pas non plus...

Oui c'est désolant... car wget fonctionne très bien. Tu ne fournis aucune indication sur la syntaxe que tu as utilisée et les messages d'erreur que tu as pu avoir.

Je travaille sous Unix (Solaris)

wget est un programme GNU. J'ignore si celui-ci est installé sur ta version de Solaris et si les options sont les mêmes. Voilà la page de manuel de wget http://annys.eines.info/cgi-bin/man/man2html?wget+1

Compare la avec ta page de manuel man wget (et lis là aussi).

En fait, ce que je voudrais c'est tranférer un fichier d'un serveur Unix (Test) vers un autre serveur Unix (Données)

Je croyais que tu voulais récupérer un grand nombre de fichiers ?

2.

Pour récupérer un seul fichier, tu peux faire un script shell comme celà :

DDirectory="/le/rep/distant/"
LDirectory="/le/rep/local/"
Username="toto"
Password="totopasswd"
Server="ftp.monserveur.net"

ftp -i -n $Server <<End-Of-Session
user $Username $Password
binary
bell
lcd $LDirectory
cd $DDirectory
get lefichierarecuperer
bye
End-Of-Session


Avec wget, tu fais celà :

cd /le/rep/local/
wget ftp://toto:totopasswd@ftp.monserveur.net/le/rep/distant/lefichierarecuperer


3.

Si en fait tu veux récupérer un grand nombre de fichiers tous situés dans un répertoire avec d'éventuels sous-répertoires et tu ne veux pas tous les taper, tu devras utiliser un autre outil qui ait des fonctions de récursivité, sauf à ce que le client ftp de Solaris ait déjà ces fonctionnalités (ce dont je doute, mais tu peux consulter man ftp pour voir). Ce n'est pas le cas du client ftp de Linux et de FreeBSD en tout cas.

Si tu veux télécharger un répertoire entier et son contenu récursivement, en utilisant wget, tu fais wget ftp://toto:totopasswd@ftp.monserveur.net/le/rep/distant/

Avec les options :

--no-host-directories
--cut-dirs=number
--recursive
--level=depth

Tu peux contrôler la façon dont l'arborescence est reconstruite localement et le niveau de récursion.

4.

Je voudrais que cet envoi soit automatisé dans un CROn (comme la génération du fichier que je souhaite récupérer).

Sauf erreur, ce que tu veux faire, ce n'est pas un "envoi", c'est un "téléchargement". Quant à la façon dont le fichier que tu récupères est généré, sauf erreur également, celà n'a pas de rapport avec ta question.

En tout état de cause, je suppose que tu sais faire une entrée crontab.

5.

Un programme shell existe avec cette commande (parmis tout le traitement des fichiers qui ne m'interresse pas)

Je suppose que tu veux dire que tu as trouvé un script sur ta machine qui a été fait par quelqu'un d'autre et qui, entre autres choses, scripte la commande ftp comme tu l'indiques. Mais c'est un peu elliptique.

6.

Teste le script que tu réaliseras en le lançant manuellement avant de le tester dans un crontab. Dans ton script shell mets les chemins absolus de toutes les commandes utilisées. Si le script fonctionne mais pas le CRON, regarde les messages d'erreur dans les logs de CRON.


Dal

Répondre à [Dal]

11

sandrill0n, le mardi 17 mai 2005 à 16:11:23

Merci pour toutes ces infos...

Je vais essayer et voir si ça marche

Je mettrai les résultats...

Répondre à sandrill0n

12

sandrill0n, le mardi 17 mai 2005 à 16:51:44

Alors, chose promise, chose due....

Les Username et Password ont été modifiés (confidentialité oblige)

Programme shell : "send_to_volnay"

#!/usr/bin/csh

DDirectory="/home/synergy/sandra/ROYAT/"
LDirectory="/export/home/kthmgr/crondir/"
Username="sandra"
Password="azerty"
Server="httpsyn"

ftp -i -n $Server <<End-Of-Session
user $Username $Password
ascii
bell
lcd $LDirectory
cd $DDirectory
get pareto.log
bye
End-Of-Session


Résultat du lancement manuel :
DDirectory=/home/synergy/sandra/ROYAT/: Command not found
LDirectory=/export/home/kthmgr/crondir/: Command not found
Username=sandra: Command not found
Password=azerty: Command not found
Server=httpsyn: Command not found
Server: Undefined variable


Apparement, ça a pas l'air de marcher...

Répondre à sandrill0n

13

mamiemando, le mardi 17 mai 2005 à 18:43:28

1) Solution par ssh

Tu peux utiliser le scp comme dit précedemment sous réserve :

- que tes serveurs ssh (service sshd start) soient lancés sur les serveurs, et que les clients possèdent un client ssh (ssh) !
- pour contourner l'identification, que tu génère des clés ssh.

2) Solution par ftp

Sinon par rapport au ftp tu as des alternatives comme sftp (à mi chemin entre ftp et ssh). Je me demande si un bon vieux lftp pour la solution ftp pur ne te permettrait pas de stocker les favoris et te permettre de te connecter direct...

3) Solution par wget

Ca marche si tes serveurs ont un serveur http de lancé (httpd, apache...), et que les fichiers sont situés dans l'arborescence de ton site (/var/www/html/...)

Bonne chance

Répondre à mamiemando

14

[Dal], le mercredi 18 mai 2005 à 09:31:23

Hello :)

Sandrill0n :

La syntaxe de déclation de variables que je t'ai donnée dans mon exemple vaut pour le shell sh. Si tu utilises csh, tu dois utiliser la syntaxe du C shell pour la déclaration de variables :

set DDirectory="/home/synergy/sandra/ROYAT/"
set LDirectory="/export/home/kthmgr/crondir/"
set Username="sandra"
set Password="azerty"
set Server="httpsyn"

Celà devrait passer sans erreurs de syntaxe désormais.

mamiemando :

wget est un client ftp aussi et qui gère non seulement la récursion comme je l'indiquais, mais aussi la continuation d'un transfert interrompu (option -c). Je parle de ma version qui est GNU Wget 1.8.2, mais ces fonctionnalités figurent depuis longtemps dans wget.


Dal

Répondre à [Dal]

15

sandrill0n, le mercredi 18 mai 2005 à 10:27:29

J'ai fait ce que tu m'as dit (mettre "set" devant les lignes de commandes)

En le lançant manuellement j'obtiends ça comme erreur :

End-Of-Session: << terminator not found


Ca veut dire quoi ?

Répondre à sandrill0n

17

mamiemando, le mercredi 18 mai 2005 à 15:00:31

Vu Dal ;o) J'utilise pas souvent wget ;o)

Répondre à mamiemando

16

[Dal], le mercredi 18 mai 2005 à 11:00:27

Re :)

Je ne suis pas très familier du C Shell. Apparemment il exige aussi que l'indicateur de terminaison soit échappé.

Essaye comme celà :

ftp -i -n $Server << \End-Of-Session
user $Username $Password
ascii
bell
lcd $LDirectory
cd $DDirectory
get pareto.log
bye
\End-Of-Session


Dal

Répondre à [Dal]

18

sandrill0n, le jeudi 16 juin 2005 à 16:41:43

Re tout le monde !!!

J'ai fais un super programme ksh qui marche nickel en manuel :
sendlog_to_volnay

#!/bin/ksh
##################################
#Envoi de pareto.log vers Volnay #
##################################

#On se met dans l'inbox (directory d'envoi dans synergy)
cd ${KI_DIR_CRONDIR}   #var d'env pour : /export/home/kthmgr/crondir/

#y a t-il des fichiers a envoyer?
rep=$(/usr/bin/ls)
if [ "$rep" != "" ]
then
	
	#On fait un ftp sur volnay uniquement si elle repond au ping
	PING=`/usr/sbin/ping httpsyn | grep -i alive | wc -l`
	if [ $PING = 1 ]
	then
		ftp -v -i -n httpsyn <<-%
		user sandra Azerty
		ascii
		put sm3_0.log
		put sm2_5.log
		put sm3_5.log
		put sm5ap.log
		put sm5lp.log
		put sm5cb.log
		put hdtmos.log
		close
		bye
		%
		
	fi
	
fi


Donc, il marche très bien quand je le lance dans le shell.

Par contre quand je l'insère dans le CRON, plus rien...
Je ne reçoit pas les fichiers sur mon autre serveur...
J'ai fais les fichiers de sortie et d'erreur et voici le résultat :
fichier de sortie :
Connected to httpsyn.ea.freescale.net.
220 volnayc2 FTP server (Version 1.1.214.8 Fri Apr 20 07:27:42 GMT 2001) ready.
331 Password required for sisa01c.
230 User sandra logged in.
?Invalid command
200 Type set to A.
200 PORT command successful.
553 Could not determine cwdir: No such file or directory.
?Invalid command
?Invalid command
221 Goodbye.

Fichier d'erreur :
/export/home/kthmgr/crondir/sm3_0.log: No such file or directory
/export/home/kthmgr/crondir/sm2_5.log: No such file or directory
/export/home/kthmgr/crondir/sm3_5.log: No such file or directory
/export/home/kthmgr/crondir/sm5ap.log: No such file or directory
/export/home/kthmgr/crondir/sm5lp.log: No such file or directory
/export/home/kthmgr/crondir/hdtmos.log: No such file or directory


Comment puis-je faire pour pouvoir lancer ce script dans le CRON ?
Faut-il faire une autre manip à la place du script ?

Répondre à sandrill0n

19

sandrill0n, le jeudi 23 juin 2005 à 11:32:31

Re !

Comment puis-je faire pour copier un répertoire entier en utilisant cette methode ?

#On se met dans l'inbox (directory d'envoi dans synergy)
cd /var/opt/applications/mo/   

pwd

#y a t-il des fichiers a envoyer?
rep=$(/usr/bin/ls)
if [ "$rep" != "" ]
then
	
	#On fait un ftp sur volnay uniquement si elle repond au ping
	PING=`/usr/sbin/ping httpsyn | grep -i alive | wc -l`
	if [ $PING = 1 ]
	then
		ftp -v -i -n httpsyn <<-%
		user sandra Azerty
		#ascii
		cd /home/synergy/sandra/WAFER/
                pwd
		put Report -r
		close
		bye
		%
		
	fi
	
fi


Le répertoire Report est celuique je veux copier

Quand je lance le programme j'ai ce message d'erreur :
"Report: not a plain file"

Répondre à sandrill0n

20

[Dal], le jeudi 23 juin 2005 à 14:49:36

Je comprends que "Report" est un répertoire local et que tu veux en uploader le contenu sur ton serveur ftp.

Tu fais un "lcd" dans "Report" et tu fais un "mput *"

voir "man ftp"

S'il y a des sous-répertoires dedans, et que tu veux les transférer aussi, il te faudra utiliser un client ftp récursif (cf. mon post <10> où j'ai déjà traité la question).


Dal

Répondre à [Dal]

21

redlightdistrict, le mercredi 8 février 2006 à 10:05:55
  • +1

Salut Dal,

dans ton post <10> tu raportes justement que le client FTP sur Linux par defaut n est pas recusrif.

Sais-tu lequel a cette fonction de recursivite pour uploader beacoup de fichiers et repertoires ?

Merci

Répondre à redlightdistrict

22

[Dal], le mercredi 8 février 2006 à 10:35:03

Salut Redlightdistrict,

Une réponse est dans ce même post <10>, dans sa partie 3 : wget est, entre autres choses, un client ftp avec des fonctions de récursivité (et même de continuation de transferts interrompus), avec la syntaxe mentionnée et en utilisant les options de ligne de commande qui te conviennent (dont j'ai également donné un échantillon).

Vois man wget

wget est souvent installé par défaut sur les distributions Linux.


Dal

Répondre à [Dal]

23

 [Dal], le mercredi 8 février 2006 à 10:43:22

Oops,

je viens de réaliser que tu parles d'uploader des fichiers... (wget est approprié pour le téléchargement ftp)... hmm

Dans ce cas vois plutôt lftp ou ncftp

- http://lftp.yar.ru/

- http://www.ncftp.com/ncftp/

Voilà un exemple avec lftp : http://pesche.schlau.ch/2005/02/14/intelligent-ftp-upload-wi­th-lftp/


Dal

Répondre à [Dal]
Installer un serveur FTP sous Ubuntu Sommaire: 1. Installer le serveur FTP 2. Configurer le serveur FTP 2.1 Interdire le FTP anonyme 2.2 Autoriser les utilisateurs locaux à se connecter 2.3 Autoriser les utilisateurs à uploader des fichiers 2.3 Choisir l'interface 3.... www.commentcamarche.net/faq/sujet-6336-installer-un-serveur-ftp-sous-ubuntu
2 serveurs FTP pour la même IP FIXE et le mêm Bonjour, je dispose d'une connexion ADSL avec IP Fixe. J'ai besoin de mettre en ligne des donnees de deux serveurs différents de mon reseau. J'ai donc installé SERV-U sur mes 2 serveurs. Sur 1 serveur je me sers du port 21 et sur l'autre du port 22.... www.commentcamarche.net/forum/affich-293295-2-serveurs-ftp-pour-la-meme-ip-fixe-et-le-mem
Installer 2 serveurs web sur un même réseau (Résolu) Bonjour à tous! Je souhaite faire l'installation de nagios (logiciel de supervision réseaux) dans ma société. J'aimerai mettre en place un deuxième serveur web qui gère seulement cet aspect de supervision du réseau. Est-ce c'est possible ? Et comment... www.commentcamarche.net/forum/affich-1453632-installer-2-serveurs-web-sur-un-meme-reseau
Installer un serveur FTP sous WindowsVersion rapide Version un peu moins rapide (mais plus propre) Version serveur propre Liens Pour aller plus loin : Accédez à votre serveur FTP n'importe où dans le monde Notes Version rapide VITE, JE VEUX INSTALLER UN SERVEUR FTP TOUT... www.commentcamarche.net/faq/sujet-3028-installer-un-serveur-ftp-sous-windows
Installer un serveur ssh sous UbuntuUn serveur ssh vous permet d'accéder à distance à votre machine. Vous aurez ainsi accès à la console distante (équivalente à telnet, mais sécurisée) et au transfer de fichiers (équivalent à FTP, mais sécurité également). Installation On ne peut... www.commentcamarche.net/faq/sujet-6658-installer-un-serveur-ssh-sous-ubuntu
Serveurs privés Lineage II et légalité--> http://www.lineage2.com/legal/rules.html You will not attempt to play Lineage II on any server that is not controlled or authorized by NC Interactive or its designees. You will not create, use, or provide any server emulator or other... www.commentcamarche.net/faq/sujet-17144-serveurs-prives-lineage-ii-et-legalite
Comment installer 2 serveurs MYSQL?Bonjour, J'essaye d'installer 2 versions de MYSQL sur la meme machine et je n'arrive pas. Version du serveur Linux RedHat : Linux 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux Version 1 de MySQL : MySQL-server-community... www.commentcamarche.net/forum/affich-3765954-comment-installer-2-serveurs-mysql
Synchroniser des fichiers entre 2 serveurs (Résolu)Bonjour, Je voudrai synchroniser mes fichiers tous les soirs entre 2 serveurs d'un meme réseau local. Quel outils utiliser pour ca ?(du gratuit si possible) Merci ! www.commentcamarche.net/forum/affich-3607742-synchroniser-des-fichiers-entre-2-serveurs
Raid 1 et redondance de 2 serveursBonjour, J'ai acheté 2 serveurs (Suse Enterprise 10.2 avec Plesk 8.2 sur Dell Poweredge 840) avec configuration Raid1 (2 disques) pour garantir le fonctionnement et la redondance de notre installation. L'achat du 2e server a été effectué afin de... www.commentcamarche.net/forum/affich-4167997-raid-1-et-redondance-de-2-serveurs
Télécharger Filezilla ServerFileZilla Server est un serveur FTP pour Windows développé en open source. Il comporte de nombreuses fonctionnalités telles que le support de SSL, la possibilité de reprendre des téléchargements annulés, la gestion des répertoires, ... Mise à... www.commentcamarche.net/telecharger/telecharger-89-filezilla-server
Télécharger Leech FTP Leech FTP est un logiciel permettant d'envoyer ou bien de télécharger des fichiers. Il liste des fichiers locaux, liste des fichiers distants, file d’attente des téléchargements, informations liées à la journalisation et une excellente barre... www.commentcamarche.net/telecharger/telecharger-34055217-leech-ftp
Télécharger BillingTracker Multi-User ServerBillingTracker Multi-User Server est une extension pour le logiciel BillingTracker Pro. Le programme est un petit module qui règlemente l'accès aux fichiers de données provenant de BillingTracker Pro lorsque vous travaillez en mode multi-utilisateur.... www.commentcamarche.net/telecharger/telecharger-34057458-billingtracker-multi-user-server
Le protocole FTP (File Transfer Protocol)Introduction au protocole FTP Le protocole FTP (File Transfer Protocol) est, comme son nom l'indique, un protocole de transfert de fichier. La mise en place du protocole FTP date de 1971, date à laquelle un mécanisme de transfert de... www.commentcamarche.net/contents/internet/ftp.php3