Bonjour,
Je suis bloquée sur un script de transfert sftp.
Je dois transférer des fiches xml sur un serveur sftp via script sh. Ce script est déclenché par un script inotify lors de l'ajout d'un fichier dans mon répertoire de dépôt.
Sur mon serveur, je ne dispose que d'un accès sftp et je n'ai pas de client ssh.
Voici le script mis en place, qui fonctionne :
Pour chaque fichier présent dans mon dépôt, j'ouvre ma connexion, je le transfert, je ferme ma connexion, je le supprime en local.
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 #!/bin/sh source /etc/antidot/antidot.conf for file in `ls $depot/*.xml`; do echo $file; expect << EOF spawn /usr/bin/sftp $LOGIN@$SERVEUR expect "password:\r" send -- "$PASS\r" expect "sftp>" send -- "cd $REPERTOIRE\r" expect "sftp>" send -- "put $file\r" expect "sftp>" send -- "quit\r" EOF rm $file; done;
J'ai deux soucis avec ce script :
- j'ouvre et referme ma connexion sftp pour chaque fiche
(potentiellement je peux en avoir plusieurs dizaine de mise à jour / minutes, au delà de 10 connexion simultanée je suis blacklistée)
- j'utilise expect pour communiquer avec mon shell sftp
(mon hébergeur ne le souhaite pas)
Je ne sais pas comment résoudre ce problème n'ayant que peu de connaissances en système. Est-ce que quelqu'un à déjà mis en place un tel script ? et aurait des pistes pour me permettre d'avancer ?
Merci d'avance
Anne-Sophie
Partager