Détails   [Astuces Logiciels](https://www.crashdebug.fr/informatique/astuce-logiciel)   Jung William    23 Décembre 2009     Création : 23 Décembre 2009     Mis à jour : 12 Janvier 2015    Clics : 2207 #  [ Ftp mon amour,](https://www.crashdebug.fr/ftp-mon-amour "Ftp mon amour,")

5.0 of 5 (1 Vote)

Temps de lecture : **11 min**

 Ah les bonnes vieilles racines du web le FTP !

 Imaginez que vous ayez un site web Joomla et que vous utilisiez JoomlaPack pour faire vos backup, il serait néanmoins intéressant de faire un batch pour récuprer ces backup en local ?

 Et soyons fou si vous avez de l'espace de stockage virtuelle pourquoi pas les encrypter en 128bits et les re uploader sur un serveur de backup de l'autre côté de l'Atlantique ? On ne sais jamais en cas de guerre nucléaire sur l'Europe ! Oui c'est possible et en 10mn... pas la guerre le backup hein ! lmao ;)

 Ou plus précisément comment se connecter à un serveur FTP quand on n'a que Windows ou Dos sous la main et que l'on est allergique a explorer ?

 En utlisant FTP !

 Passons à la pratique :

 Ftp est une petite commande de Microsoft Windows 2000, XP, NT, 7. Elle permet de se connecter à des... ftp... et bien sûr d'automatiser certaines tâches, par contre vous vous en doutez il y a un revers à la médaille... c'est du Microsoft....

 C'est que ce programme est un bloc de pierre, il est c... comme un balai et assez intransigeant dès que l'on veut un peu le commander (sale môme), donc il va falloir le guider, pour ce faire il faut lui faire en mode automatisé un petit fichier de commandes.

 C'est ce que j'ai fait avec le fichier command.txt et command2.txt, ce sont les 2 fichiers qui contiennent identifiants et mots de passes, ainsi que les commandes à effectuer sur le ftp, ne vous plantez pas il y a pas de undo...

 Dans le cas d'une récupération de données cycliques autant automatiser. Dans mon cas de figure il s'agit de récupérer en local, de compresser et d'encrypter en 128 bits et de re uploader sur un ftp (j'adore automatiser). Alors voici comment faire, tout d'abort créer un .bat contenant à peu près ceci :

 Backupcrashdebug.bat----------------------------------------------------------------------------- prog principal
 CD C:\\Users\\Neo\\Documents\\Dev web\\Backup\_Auto\_Temp

 ftp -i -n -s:c:command.txt [ftp.votreserveurftp.fr](https://www.crashdebug.fr/ftp://ftp.votreserveurftp.fr)

 rar a -r -t -rv -dh -hpxxxxxxx -pxxxxxxx -isnd backup \*.\* backup

 CD C:\\Users\\Neo\\Documents\\Dev web\\Backup\_Auto\_Temp

 ftp -i -n -s:c:command2.txt file.votre2emeserveurftp.net

 Echo Job done Folamour ;)

 pause

 Et voilà pour le batch principal, remplacer le c:\\user par votre répertoire de travail et les 'xxxxxxx' par votre mot de passe d'archive.

 Pour les exemples de fichiers de réponses je pense que c'est assez parlant :

 command.txt------------------------------------------------------------------------------------- réponses FTP1
 user VOTREUSER VOTREPASSWORD

 cd\\
 cd /administrator/components/com\_joomlapack/backup/

 bell
 binary
 mget \*.\*
 close wait
 close
 quit

 Command2.txt------------------------------------------------------------------------------------- réponses FTP2
 user VOTREUSER VOTREPASSWORD

 cd \\
 cd system
 cd backup

 del .
 bell
 binary
 mput backup.rar
 close wait
 close
 quit
\--------------------------------------------------------------------------------------------------

 Voilà c'est tout bête, car avec JoomlaPack les fichiers sont déja compressés avec la table SQL ,et là on récupère l'ENSEMBLE des backup pas de cadeaux,
 si une personne avait voulu faire un backup sélectif d'un site, il faut procédér répertoire par répertoire ce qui est vite fastidieux.

 Mais non, ils n'ont pas prévu de commande de type Robocopy ou Xcopy, donc il faut connaître la structure du site web et faire un CD /nomderépertoire avant chaque copie et ne pas oublier de rétablir la structure en sortie, mais c'est sans problème possible,

 j'ai mis le signal Bell pour indiquer par voie sonore la fin d'un transfert ne pas oublier de passer aussi en mode 'binary' sinon surprise assuré à l'arrivée,

 le 'programme' mdr va donc se localiser sur le répertoire C:\\Users\\Neo\\Documents\\Dev web\\Backup\_Auto\_Temp se connecter au ftp distant
 copier tout le contenu de /administrator/components/com\_joomlapack/backup sur le disque C: dans le répertoire courant indiqué précédement,

 puis on ferme la connexion, on compresse le backup à l'aide de winrar et on met le password, on se connecte à l'autre ftp et on re upload le tout, et on ferme la connexxion.

 On a donc une copie locale propre et un backup crypté :) pour encrypter je me suis servi de la version dos de rar.exe qui est présent dans Winrar téléchargeable [ici](http://download.cnet.com/WinRAR-32-bit/3000-2250_4-10007677.html) bien sûr il faut que rar.exe soit dans un de vos chemins de recherches ou dans le même répertoire que backupcrashdebug.bat sinon le batch échouera.

 si ont désire automatiser tout ça il suffit de taper au prompt :

 at [\\\\nomdelamachine](https://www.crashdebug.fr/file://\\nomdelamachine) 2:00:00 EVERY M,T,W,Th,S,Su C:\\Users\\Neo\\Document
 s\\Dev web\\Backup\_Auto\_Temp\\backupcrashdebug.bat

 Ce qui veut dire à 2:00:00 tous les jours de la semaine lance backupcrashdebug.bat remplacez bien sûr C:\\user etc... par le chemin de votre programme... sinon ça risque de pédaler dans le vide...

 Pour un rappel des programmes en attente tapez AT (entrée) au prompt)
 je suis pas très confiant dans AT ... mais apparemment c'est pas rebootproof donc batch dans le groupe démarrage, je suis en train de tester...

 La commande de base est simple FTP nomduserveurftp login motdepasse
 si vous vous trompez vous passez en mode interractif,
 sinon pour un login directement interractif tapez ftp nomduserveur ftp et tada! présentation...

 Pour les amoureux de command prompt :) voici les commandes de ftp:

 List of FTP commands for the Microsoft command-line FTP client

 Command-line options As you're starting the program from a DOS prompt:

 ftp \[-v\] \[-d\] \[-i\] \[-n\] \[-g\] \[-s:filename\] \[-a\] \[-w:windowsize\] \[computer\]

 -v - Suppresses verbose display of remote server responses.
 -n - Suppresses auto-login upon initial connection.
 -i - Turns off interactive prompting during multiple file transfers.
 -d - Enables debugging, displaying all ftp commands passed between the client and server.
 -g - Disables filename globbing, which permits the use of wildcard chracters in local file and path names.
 -s:filename - Specifies a text file containing ftp commands; the commands will automatically run after ftp starts. No spaces are allowed in this parameter. Use this switch instead of redirection (>).
 -a - Use any local interface when binding data connection.
 -w:windowsize - Overrides the default transfer buffer size of 4096.
 computer - Specifies the computer name or IP address of the remote computer to connect to. The computer, if specified, must be the last parameter on the line.
 Client commands! - Runs the specified command on the local computer
 ? - Displays descriptions for ftp commands
 append - Appends a local file to a file on the remote computer
 ascii - Sets the file transfer type to ASCII, the default
 bell - Toggles a bell to ring after each file transfer command is completed (default = OFF)
 binary - Sets the file transfer type to binary
 bye - Ends the FTP session and exits ftp
 cd - Changes the working directory on the remote computer
 close - Ends the FTP session and returns to the command interpreter
 debug - Toggles debugging (default = OFF)
 delete - Deletes a single file on a remote computer
 dir - Displays a list of a remote directory's files and subdirectories
 disconnect - Disconnects from the remote computer, retaining the ftp prompt
 get - Copies a single remote file to the local computer
 glob - Toggles filename globbing (wildcard characters) (default = ON)
 hash - Toggles hash-sign (#) printing for each data block transferred (default = OFF)

 help - Displays descriptions for ftp commands
 lcd - Changes the working directory on the local computer
 literal - Sends arguments, verbatim, to the remote FTP server
 ls - Displays an abbreviated list of a remote directory's files and subdirectories
 mdelete - Deletes one or more files on a remote computer
 mdir - Displays a list of a remote directory's files and subdirectories
 mget - Copies one or more remote files to the local computer
 mkdir - Creates a remote directory
 mls - Displays an abbreviated list of a remote directory's files and subdirectories
 mput - Copies one or more local files to the remote computer
 open - Connects to the specified FTP server
 prompt - Toggles prompting (default = ON)
 put - Copies a single local file to the remote computer
 pwd - Displays the current directory on the remote computer (literally, "print working directory")
 quit - Ends the FTP session with the remote computer and exits ftp (same as "bye")
 quote - Sends arguments, verbatim, to the remote FTP server (same as "literal")
 recv - Copies a remote file to the local computer
 remotehelp - Displays help for remote commands
 rename - Renames remote files
 rmdir - Deletes a remote directory
 send - Copies a local file to the remote computer (same as "put")
 status - Displays the current status of FTP connections
 trace - Toggles packet tracing (default = OFF)
 type - Sets or displays the file transfer type (default = ASCII)
 user - Specifes a user to the remote computer
 verbose - Toggles verbose mode (default = ON)

 Folamour,

Vous aimez ce que vous lisez ? Notre travail est gratuit et indépendant, mais il a un coût. Vous pouvez nous soutenir librement grâce à un don via *[Tipeee](https://fr.tipeee.com/crashdebug-fr)* ou *[PayPal](https://www.paypal.com/paypalme/Crashdebug)*. Si vous ne pouvez pas nous aider financièrement (ce que je peux comprendre parfaitement), vous pouvez partager les articles sur vos réseaux sociaux, et parler du site autour de vous. Merci à celles et ceux qui rendent tout cela possible.

[![Google](https://www.google.com/images/branding/googleg/1x/googleg_standard_color_128dp.png)Ajouter Crashdebug.fr à Google](https://www.google.com/preferences/source?q=crashdebug.fr)

## Partager sur les réseaux sociaux

 [  Publier 0Nombre de partages sur X ](https://twitter.com/share?url=https%3A%2F%2Fwww.crashdebug.fr%2Fftp-mon-amour&text=Ftp%20mon%20amour%2C)0Nombre de partages sur X

 [  Partager 0Nombre de partages sur Facebook ](https://facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.crashdebug.fr%2Fftp-mon-amour)0Nombre de partages sur Facebook

 [  Partager 0Nombre de partages sur Linkedin ](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.crashdebug.fr%2Fftp-mon-amour&text=Ftp%20mon%20amour%2C)0Nombre de partages sur Linkedin

 [  E-mail 0Nombre de partages sur Email ](mailto:?subject=https%3A%2F%2Fwww.crashdebug.fr%2Fftp-mon-amour&body=Ftp%20mon%20amour%2C)0Nombre de partages sur Email

 [  WhatsApp 0Nombre de partages sur Whatsapp ](https://web.whatsapp.com/send?text=https%3A%2F%2Fwww.crashdebug.fr%2Fftp-mon-amour%20Ftp%20mon%20amour%2C)0Nombre de partages sur Whatsapp

 [  Télégramme 0Nombre de partages sur Telegram ](https://t.me/share/url?url=https%3A%2F%2Fwww.crashdebug.fr%2Fftp-mon-amour&text=Ftp%20mon%20amour%2C)0Nombre de partages sur Telegram

---

 [  Previous  ](https://www.crashdebug.fr/recuperation-de-donnees "Récupération de données")

 [  Next  ](https://www.crashdebug.fr/robocopy "Robocopy")

 ![loader](https://www.crashdebug.fr/media/com_rscomments/images/loader.gif)

  [  My comments ](https://www.crashdebug.fr/javascript:void(0); "This will show all of your comments.")   [  Subscribe ](https://www.crashdebug.fr/javascript:void(0) "Subscribe")

[](https://www.crashdebug.fr/javascript:void(0); "Bold") [](https://www.crashdebug.fr/javascript:void(0); "Italic") [](https://www.crashdebug.fr/javascript:void(0); "Underline") [](https://www.crashdebug.fr/javascript:void(0); "Stroke")

[](https://www.crashdebug.fr/javascript:void(0); "Quote") [](https://www.crashdebug.fr/javascript:void(0); "Emoticons") [](https://www.crashdebug.fr/javascript:void(0); "Preview")

[![:confused:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/confused.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:cool:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/cool.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:cry:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/cry.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:laugh:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/laugh.gif)](https://www.crashdebug.fr/javascript:void(0);)

[![:lol:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/lol.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:normal:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/normal.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:blush:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/redface.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:rolleyes:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/rolleyes.gif)](https://www.crashdebug.fr/javascript:void(0);)

[![:sad:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/sad.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:shocked:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/shocked.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:sick:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/sick.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:sleeping:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/sleeping.gif)](https://www.crashdebug.fr/javascript:void(0);)

[![:smile:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/smile.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:surprised:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/surprised.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:tongue:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/tongue.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:unsure:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/unsure.gif)](https://www.crashdebug.fr/javascript:void(0);)

[![:whistle:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/whistling.gif)](https://www.crashdebug.fr/javascript:void(0);) [![:wink:](https://www.crashdebug.fr/media/com_rscomments/images/emoticons/wink.gif)](https://www.crashdebug.fr/javascript:void(0);)

 [](https://www.crashdebug.fr/javascript:void(0); "Close preview")

  ![loader](https://www.crashdebug.fr/media/com_rscomments/images/loader.gif) 1000 Characters left

---

  Subscribe

  [ I agree to the terms and conditions. ](https://www.crashdebug.fr/javascript:void(0))

  I consent to this website collecting my details through this form.

 ![captcha](https://www.crashdebug.fr/component/rscomments/captcha?type=form2747e3e8cf77922d9cd88d6c4104b4ad&sid=6ac7c37bebca9&Itemid=56 "The captcha code is case insensitive.")  [  ](https://www.crashdebug.fr/javascript:void(0))

  ![loader](https://www.crashdebug.fr/media/com_rscomments/images/loader.gif)

### Terms & Conditions

 [I Agree](https://www.crashdebug.fr/javascript:void(0))[Close](https://www.crashdebug.fr/javascript:void(0))

### Subscribe

### Report

### My comments
