Batch ftp
Bonjour,
je souhaite exporter un fichier.dmp (export de base oracle) d'un serveur linux vers un serveur windows.
Mon serveur linux est un serveur ftp.
J'ai deux scripts que j'exécute depuis le serveur Windows :
le script cmd :
ftp -v -i -n -s:C:\Documents and Settings\Administrateur\script_export_base.ftp
le script ftp :
open adresse_IP_serveur_distant
user *****
*****
mget export_base_*
quit
Cela ne fonctionne pas.
Si j'exécute les commandes du second script en ligne de commande, ça fonctionne.
Une idée ?
J'ai deux autres questions :
dois-je faire le transfert en ascii ou en binaire pour un fichier.dmp ?
Est-il possible de préciser le nom du fichier de destination avec mget (en fait, je n'ai qu'un seul fichier à transférer mais je ne peux pas utiliser la commande get car le nom du fichier à transférer comporte la date du jour et varie donc à chaque fois. Or la commande get ne connaît pas le caractère "*".) ?
Merci pour vos aides.
Audrey
je souhaite exporter un fichier.dmp (export de base oracle) d'un serveur linux vers un serveur windows.
Mon serveur linux est un serveur ftp.
J'ai deux scripts que j'exécute depuis le serveur Windows :
le script cmd :
ftp -v -i -n -s:C:\Documents and Settings\Administrateur\script_export_base.ftp
le script ftp :
open adresse_IP_serveur_distant
user *****
*****
mget export_base_*
quit
Cela ne fonctionne pas.
Si j'exécute les commandes du second script en ligne de commande, ça fonctionne.
Une idée ?
J'ai deux autres questions :
dois-je faire le transfert en ascii ou en binaire pour un fichier.dmp ?
Est-il possible de préciser le nom du fichier de destination avec mget (en fait, je n'ai qu'un seul fichier à transférer mais je ne peux pas utiliser la commande get car le nom du fichier à transférer comporte la date du jour et varie donc à chaque fois. Or la commande get ne connaît pas le caractère "*".) ?
Merci pour vos aides.
Audrey
A voir également:
- Batch ftp
- Fichier batch - Guide
- Core ftp - Télécharger - Téléchargement & Transfert
- Typsoft ftp server - Télécharger - Téléchargement & Transfert
- Url ftp - Forum Windows
- Batch pause 10 secondes ✓ - Forum Programmation
1 réponse
Si dmp n'est pas un fichier texte (fichier binaire), alors choisis binaire.
En fait je te préviens tout de suite ftp est assez peu pratique pour ce que tu veux faire.
Petite suggestion : il serait beaucoup plus simple d'installer un client ssh (par exemple scp via cygwin) qui
- assurera un transfert sécurisé entre le serveur linux et ton pc windows
- te permettra de spécifier le nom et le chemin du fichier destination sur ton pc windows
- t'évitera de te poser des questions binaires / pas binaires.
http://www.cygwin.com/
Exemple : ton login sur le serveur linux s'appelle mando, le serveur linux s'appelle aldur, tu veux importer le fichier /home/mando/pouet.txt et le rappatrier sous windows via scp dans le répertoire /cygdrive/c (l'équivalent de c:) et appeler plop.txt. Ton script est alors un script shell (par exemple plop.sh) que tu peux lancer via cygwin :
Une fois le fichier plop.sh écrit il suffit de lui donner les droits en exécution :
... et de le lancer :
Il est également possible d'utiliser un système de clé ssh pour éviter d'avoir à saisir le mot de passe au moment du scp (ce qui est assez pratique dans une script). Si cette solution te convient je peux la détailler davantage. Si tu veux recopier un répertoire (au lieu du mirror de ftp) on utilise simple scp -r :
Bonne chance
En fait je te préviens tout de suite ftp est assez peu pratique pour ce que tu veux faire.
Petite suggestion : il serait beaucoup plus simple d'installer un client ssh (par exemple scp via cygwin) qui
- assurera un transfert sécurisé entre le serveur linux et ton pc windows
- te permettra de spécifier le nom et le chemin du fichier destination sur ton pc windows
- t'évitera de te poser des questions binaires / pas binaires.
http://www.cygwin.com/
Exemple : ton login sur le serveur linux s'appelle mando, le serveur linux s'appelle aldur, tu veux importer le fichier /home/mando/pouet.txt et le rappatrier sous windows via scp dans le répertoire /cygdrive/c (l'équivalent de c:) et appeler plop.txt. Ton script est alors un script shell (par exemple plop.sh) que tu peux lancer via cygwin :
#!/bin/sh scp mando@aldur:/home/mando/pouet.txt /cygdrive/c/plop.txt
Une fois le fichier plop.sh écrit il suffit de lui donner les droits en exécution :
chmod a+x plop.sh
... et de le lancer :
./plop.sh
Il est également possible d'utiliser un système de clé ssh pour éviter d'avoir à saisir le mot de passe au moment du scp (ce qui est assez pratique dans une script). Si cette solution te convient je peux la détailler davantage. Si tu veux recopier un répertoire (au lieu du mirror de ftp) on utilise simple scp -r :
#!/bin/sh scp -r mando@aldur:/home/mando/repertoire /cygdrive/c/
Bonne chance