[batch] sauvegarde depuis ftp

sauvegarde depuis ftp [batch] - Shell/Batch - Programmation

Marsh Posté le 02-05-2007 à 14:44:01    

Bonjour à vous,
 
j'ai chercher un peu de doc là dessus mais j'ai rien trouver, je cherche à rappatrier de maniére automatisé des fichiers stocker sur un repertoire ftp. j'ai penser à faire un batch puis a le mettre dans une tache planifié de windows mais je ne trouve rien pour me loguer sur mon repertoire en ligne de commande. si je tape  
>ftp 10.0.0.1
 
il m'invite a donner un nom d'utilisateur alors que moi je voudrais que se soit automatics !
 
merci pour votre aide :D
 
SeB

Reply

Marsh Posté le 02-05-2007 à 14:44:01   

Reply

Marsh Posté le 02-05-2007 à 15:06:51    

ftp -s:unFichier
Le fichier contient la liste des commandes ftp à exécuter.

 

Par exemple un fichier ftpCmd.txt :

open tonSite.com
nom_utilisateur
mdp
ls
[...]
close

 

et ensuite tu n'as qu'à exécuter cette commande :
ftp -s:ftpCmd.txt


Message édité par dwogsi le 02-05-2007 à 15:10:46

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 15:51:12    

ah oué c génial par contre c quoi la commande pour copié un dossier du ftp vers mon disque dur par exemple ? j'ai trouver get et mget mais je ne sais pas trop comment il fonctionne.
 
merci pour ton aide :D

Reply

Marsh Posté le 02-05-2007 à 16:03:29    

Avec la commande mget tu dois pouvoir télécharger les fichiers selon un masque. Donc tu peux faire quelque chose genre :
mget *.*
et pour te placer dans ton répertoire tu peux faire
cd tonrep

 

Bon et puis ya de la doc aussi alors faut la consulter!


Message édité par dwogsi le 02-05-2007 à 16:03:37

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 16:04:57    

Dernière chose : Pour désactiver la confirmation demandée par mget utilise la commande prompt

 

Edit :
Je viens de tester ça marche à merveille donc tu t'en sort avec un fichier de commande comme ça

open tonsite.com
nom_utilisateur
mdp
cd tonRep
prompt
mget *.*
close
quit

 

Edit 2:
Voilà qui pourra t'aider si tu as d'autre questions :
http://www.supinfo-projects.com/fr [...] exte_fr/1/

Message cité 1 fois
Message édité par dwogsi le 02-05-2007 à 16:10:56

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 16:27:26    

dwogsi a écrit :

Dernière chose : Pour désactiver la confirmation demandée par mget utilise la commande prompt
 
Edit :
Je viens de tester ça marche à merveille donc tu t'en sort avec un fichier de commande comme ça

open tonsite.com
nom_utilisateur
mdp
cd tonRep
prompt
mget *.*
close
quit


 
Edit 2:
Voilà qui pourra t'aider si tu as d'autre questions :
http://www.supinfo-projects.com/fr [...] exte_fr/1/


 
tout d'abord merci pour ta réponse, j'ai bien tout lu et j'ai fait ceci :
 
ftp.txt

Code :
  1. open 10.12.16.155
  2. seb
  3. seb
  4. lcd E:\
  5. cd /backup/glpi
  6. prompt
  7. mget *.*
  8. close
  9. quit


 
j'ai ensuite fait un fichier bat :
 
ftp.bat

Code :
  1. ftp -s:ftp.txt


 
lorrsque j'execute mon .bat mon invite de commande repete a l'infini  
 
C:\>ftp -s:ftp.txt
C:\>ftp -s:ftp.txt
C:\>ftp -s:ftp.txt
C:\>ftp -s:ftp.txt
C:\>ftp -s:ftp.txt
C:\>ftp -s:ftp.txt
C:\>ftp -s:ftp.txt
etc...
 
tu saurais pourquoi ?
 
je précise que mon serveur est linux debian avec proftp.
 
Merci encore


Message édité par plop007 le 02-05-2007 à 16:28:18
Reply

Marsh Posté le 02-05-2007 à 16:32:06    

Logiquement le serveur distant on s'en fou un peu puisqu'on est basé sur le protocole FTP. Et proftp est un très bon serveur à mon goût, donc pas de soucis de ce côté là si tu es certain qu'il est correctement configuré.

Concernant ton bat, je ne vois vraiment pas pourquoi ta commande serait exécuté des 10n de fois! Ya aucune raisons et j'irais même jusqu'à dire que c'est impossible en l'absence de boucle clairement écrite dans ton fichier.
 
Donc là... je sais pas trop quoi te dire... Mais si tu exécute juste la ligne dans une invite, tout ce passe bien?

 
edit :
Correction!
Renome ton ftp.bat en ftp_save.bat. Ca devrait marcher. J'suis con des fois!


Message édité par dwogsi le 02-05-2007 à 16:33:48

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 16:36:25    

ouah !!! ça a fonctionné !!
mais par quel miracle ? lol
 
pourquoi fallait il renommer en ftp_save.bat ?
 
 
Merci infiniment !!!!!

Reply

Marsh Posté le 02-05-2007 à 16:40:03    

Quand tu tapes une commande, deux cas possibles :
- Soit c'est une commande interne, il l'exécute point finale.
- Soit c'est une commande externe et là il va la chercher sur le disque dur.
Donc quand tu tape ftp il va chercher ftp.bat ou .com ou .exe d'abord dans le répertoire courant et ensuite dans les répertoires définis dans ton PATH. Donc dans ton cas quand tu lui demande ftp (=commande externe) il trouvait ton bat et le ré exécutait.


Message édité par dwogsi le 02-05-2007 à 16:42:18

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 16:42:32    

Hum okey, eh bien je suis vraiment content mon plan de sauvegarde fonctionne a merveille et le tout automatisé, comment tu l'avais surement compris j'ai mis un serveur debian pour heberger GLPI le logiciel de helpdesk tans apprécier, j'avais reussi a faire un tar.gz avec dedans la base mysql ainsi que les fichier web mais il ne me manquait plus qu'a recupéré l'archive.
 
Merci merci et encore merci :)

Reply

Marsh Posté le 02-05-2007 à 16:42:32   

Reply

Marsh Posté le 02-05-2007 à 17:25:51    

Mais de rien.
A propos, si quelqu'un pouvait confirmer ou infirmer/corriger ce que j'ai dis sur les commandes internes/externes et l'ordre de recherche, notamment dans les rep et les extensions, j'en serait heureux parce que j'ai quand même quelques doutes.
Merci :jap:


Message édité par dwogsi le 02-05-2007 à 17:26:04

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 07-05-2007 à 10:51:31    

je reviens vers ou car j'ai un soucis...
la commande se lance parfaitement je récupére bien tout mes .tar.gz le problème est que lorsque je les ai récupéré, l'archive fait 50mo mais il n'y a rien a l'intérieur !
 
alors je me suis empresser de me connecter manuellement sur mon serveur ftp et récupérer les archives et Ô miracle les archives sont bien pleine, je ne comprends pas pourquoi lorsque je passe par les commande les archives sont vides... si qqun a une idée....
 
SeB

Reply

Marsh Posté le 07-05-2007 à 13:22:49    

Code :
  1. 230 User seb logged in.
  2. ftp> cd /backup
  3. 250 CWD command successful
  4. ftp> prompt
  5. Mode interactif désactivé.
  6. ftp> mget intranet*.tar.gz
  7. 200 Type set to A
  8. 200 PORT command successful
  9. 150 Opening ASCII mode data connection for intranet-20070507-01
  10. 97 bytes)
  11. 226 Transfer complete.
  12. ftp : 50107104 octets reçus en 4,69 secondes à 10679,26 Ko/s.


 
voici le resultat de ma commande et pourtant l'archive et vide? est ce que cela peut venir du "opening ASCII mode data connection"?

Reply

Marsh Posté le 07-05-2007 à 16:03:32    

Passe en mode binaire pour voir ;)

Reply

Marsh Posté le 07-05-2007 à 16:57:07    

comment fait-on se prodige ?

Reply

Marsh Posté le 07-05-2007 à 17:21:23    

Par la commande
binary
;)

Reply

Marsh Posté le 07-05-2007 à 17:38:22    

oui en effet lol, eh bien ça marche !!!! merci beaucoup
mais je comprends pas pkoi il a fallut passer en mode binarie t'aurait une explication ?
 
sinon bah ça marche mille merci :)

Reply

Marsh Posté le 09-05-2007 à 19:46:45    

Est il possbile de recupéré les dossier et sous dossier existant via le shell ftp ?

Reply

Marsh Posté le 12-05-2007 à 22:59:15    

up ?:(

Reply

Marsh Posté le 19-05-2007 à 01:58:56    

up
 
J'ai exactement le même problème
 
mget fonctionne très bien pour télécharger un ensemble de fichiers, mais pour un dossier ou un sous dossier, il n'y arrive pas ??

Reply

Marsh Posté le 21-05-2007 à 23:03:19    

kikidonc si tu obtiens une reponse tu me fais signe :)
 
thx :D

Reply

Marsh Posté le 11-06-2007 à 13:33:40    

il faut faire du récursif...

Reply

Marsh Posté le 12-06-2007 à 09:18:13    

et c quoi la commande ?

Reply

Marsh Posté le 12-06-2007 à 10:52:28    

c'est pas une commande... c'est un ensemble.
 
Tu fais un ensemble de commande qui traite 1 repertoire.
Puis tu rapelles cette ensemble à l'intetérieur de l'ensemble (il s'apelle lui-meme quoi), pour traiter les sous repertoires.... Donc forcément c'est assez complexe... et SI c'est possible de le faire en .bat, pour sur ill ya qqs journée de codes et de prise de tete à avoir....
 
Sinon, tu utilise un vrai client FTPqui s'occup de ça lui meme ;)  
Regarde du coté de ncFTP peut etre...

Reply

Marsh Posté le 12-06-2007 à 14:31:30    

Ouais ok c'est pas vraiment du récursif si il faut faire une commande par sous répertoire :/
 
C'est clair que le mieux c'est d'avoir un soft qui le fait, mais j'vais pas me mettre à installer des trucs sur un serveur juste pour rappatrier des fichiers en ftp
 
 
De toutes façons j'ai laché l'affaire, j'ai des chemins / noms de fichiers trop long

Reply

Marsh Posté le 13-06-2007 à 16:45:12    

c'est du recursif parceque la commande se rappelle elle-meme à chaque sous repertoire ;)
 
Sinon regarde du coté de wget, une autre piste, je crois me souvenir qu'il y a un mode ftp... après, je ne connais pas toutes les possibilité :/
 
Il est evident que wget comme ncFTP existe sous windows en linge de commande (je précise car ce sont des softs nux a la base)

Reply

Marsh Posté le 14-06-2007 à 18:48:12    

bon bah ok alors on vas essayer wget. merci beaucoup à toi d'avoir pris le temps de me répondre et si qqun à une autre idée :D  
pas de soucis :)
 
SeB

Reply

Marsh Posté le 15-06-2007 à 09:43:25    

c'est le princip du foreum ;)

Reply

Marsh Posté le 28-10-2008 à 15:51:56    

Bonjour,
moi jai un probleme dans le code jai mis:
 

Code :
  1. ftp -s:"log.txt"
  2. @pause


et il m'affiche en le lancant

Code :
  1. login identification failed


alors que dans log.txt il y a  

Code :
  1. open ftp.ton-hebergement-gratuit.com
  2. user ******** /* ce sont les bonnes infos */
  3. pass ******** /* ce sont les bonnes infos */


alors quelqun peut corriger le code SVP


---------------
Mieux vaut prévenir un ordinateur d'un virus que de le guérir
Reply

Marsh Posté le 28-10-2008 à 23:47:46    

essaie en enlevant les mots clé "pass" ou "user" ou les deux

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed