Batchs FTP 1. Présentation
Un fichier de paramètres est un fichier texte permettant de se connecter à un serveur FTP sans avoir à retaper toujours le mot de passe et l'identifiant. L'intérêt majeur est de pouvoir ainsi programmer la récupération d'un fichier à heure précise, ou encore l'envoi d'un fichier sur demande. Nous allons donc voir les 2 possibilités principales : sous Windows et sous Unix. 2. Windows
D'abord, nous allons voir un exemple de script de connexion, puis ensuite, nous verrons comment l'utiliser. Script de connexion : open [Site_FTP] [login] [mot_de_passe] cd [Repertoire_distant] lcd [Repertoire_local] put [Nom_du_fichier] bye Ceci est un exemple de présentation d'un tel script. On constate qu'en réalité, les commandes sont simplement écrites les unes à la suite des autres, et que le login et le mot de passe sont simplement écrits. Si l'on souhaite, par exemple, copie sur un FTP à l'adresse ftpperso.free.fr, avec comme login "monlogin", comme mot de passe "password", dans le répertoire distant (c'est à dire sur le serveur) "/download/", depuis le répertoire "c:\site\download\", le fichier "monprog.zip", on obtient le script suivant : open ftpperso.free.fr monlogin password cd /download/ lcd "c:\site\download\" put monprog.zip bye Pour pouvoir utiliser ce script, il faut le passer en paramètre lors du lancement du FTP. Pour se faire, c'est très simple, si le fichier que vous venez de créer s'appelle "envoimonprog.ftp" (le nom est totalement libre, vous pouvez lui donner l'extension que vous voulez), il vous suffit de taper : ftp -s:envoimonprog.ftp
Une petite astuce serait d'associer les fichiers '.ftp' à la commande 'ftp.exe -s:"%1"' dans les associations de fichiers. Ainsi, tous les fichiers avec l'extension '.ftp' seront directement traités. 3. Unix
Vous avez 2 principales possibilités :
3. 1. Script qui fait tout
Créer un fichier avec le contenu suivant : #!/bin/ksh Il vous suffit alors de mettre les droits en execution (chmod +x) à ce fichier et de l'executer pour
obtenir le listing du contenu des 2 répertoires sur le site de Netscape.FTPHOST='ftp.netscape.com' FTPLOGIN='anonymous' FTPPASSWD='adresse@email.com' ftp -inv $FTPHOST <<END_SCRIPT quote USER $FTPLOGIN quote PASS $FTPPASSWD ls cd pub ls bye END_SCRIPT exit 0 3. 2. Script + Commande
Créer un fichier avec le contenu suivant : open ftp.netscape.com
En supposant que vous avez appele votre fichier "ftpNetscape", voici la commande à taper pour l'executer :
user anonymous adresse@email.com ls cd pub ls bye cat ftpNetscape | ftp -n
|