Bonjour,

Etant nouveau dans le domaine de la programmation shell, j'apprends lentement mais surement.

Mon besoin est d'envoyer régulièrement des repertoires sur un autre serveur.

J'ai réussi à rediger ceci qui fonctionne bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
#! /bin/sh
 
HOST='IP'
PORT='21'
USER='user'
PASSWD='pass'
echo "Donner le nom de la commande"
read DIRECT
 
echo 'FTPing'
 
ftp -i -n $HOST $PORT << END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd orders/
mkdir $DIRECT
cd $DIRECT/
binary 
put /chemin/orders/$DIRECT/${DIRECT}_IC1.zip ${DIRECT}_IC1.zip
put /chemin/orders/$DIRECT/${DIRECT}_S1.ps.zip ${DIRECT}_S1.ps.zip
put /chemin/orders/$DIRECT/order.txt_upload order.txt
pwd
quit
 
END_SCRIPT
 
# End of script
Comme vous le voyez, j'ai créé pour l'instant mon script pour le lancer manuellement. J' rentre le nom du répertoire "Donner le nom de la commande" et le scrip se connecte, créé le sous dossier et envoie par ftp les 3 fichiers.

Ce que je voufrai faire c un script automatique (cron) qui lit mon répertoire orders et envoie toutes mes nouvelles commandes (une commande est un répertoire nommé 4785_*

J'ai commencer à essayer avec ça mais je bloque :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
LISTE=$(ls 4785_*/)
 
#connexion ftp
 
for FIC in $LISTE
do	
	#creation repertoire envoie fichiers
done