Page 1 sur 1

transfert FTP multi serveurs

Posté : mar. 20 févr. 2018 19:20
par yblis
Bonjour à tous!

je viens solliciter la communauté autoit,
étant un gros newbie en la matière je souhaiterai créer un script qui dira:

J'ai un dossier avec des données
transfert ces fichiers du dossier sur une plage d'adresse IP
Ex: de 192.168.1.1 à 192.168.1.100

si quelqu'un pourrait m'aider ça serait super cool :)

Merci par avance!

Re: transfert FTP multi serveurs

Posté : mar. 20 févr. 2018 21:34
par Tlem
Il serait très certainement plus simple d'avoir un script résident sur chaque serveur qui surveille un dossier partagé et des que des données y sont placées alors chacun des serveurs récupére ce qu'il peut/doit récupérer.

Sinon pour le cas présenté, il faudra une liste des serveur et de leur partage, puis faire une boucle de transfert pour chacun des serveurs. ^^

Envoyé de mon appareil mobile en utilisant Tapatalk


Re: transfert FTP multi serveurs

Posté : mer. 21 févr. 2018 07:17
par yblis
merci pour ta réponse,

le problème de fond est là, c'est que je ne peux mettre un script sur chaque serveur, car c'est du windows CE...

je vais essayé d'en faire un avec une liste d'adresse ip sur un fichier csv...

Re: transfert FTP multi serveurs

Posté : lun. 26 févr. 2018 07:15
par yblis
Bon j'ai fais un petit truc qui donne ça:
#include <FTPEx.au3>

$ini = @ScriptDir&"\fichier.ini" ; on place le fichier ini dans une variable pour éviter de le ré-écrire.
$lop = IniReadSection($ini,"section") ; on appelle la commande placée dans une variable
$SRCEcab = @ScriptDir  & "\transfert\MC2180INV.CAB"
$DESTcab = "/Application/startup/MC2180.CAB"

$log =@scriptdir&"\log.txt"



For $i = 1 To $lop[0][0] ; lecture du fichier ini
$IP = $lop[$i][1]

;~ MsgBox(0,"var",$IP) ; lecture de l'adresse IP

       Local $sServer = $IP
      Local $sUser = ""
      Local $sPass = ""

      Local $hOpen = _FTP_Open("connexion à" & $sServer)
      Local $hConn = _FTP_Connect($hOpen, $sServer, $sUser, $sPass)

      IF @error then
         Local $hFileOpen = FileOpen($log,1)
         FileWrite($hFileOpen, "echec de connexion à " & $IP & @CRLF)
         FileClose($hFileOpen)
      EndIf

;~ --------------------------------------------------------------------------------------------------
_FTP_FileDelete ($hConn, "/Application/Startup/Appcenter.exe" )

      IF @error then

         Local $hFileOpen = FileOpen($log,1)
         FileWrite($hFileOpen, "Echec suppression Appcenter sur l'hôte : " & $IP & @CRLF)
         FileClose($hFileOpen)
      EndIf
;~ --------------------------------------------------------------------------------------------------
_FTP_ProgressUpload($hConn, $SRCEcab, $DESTcab) ;transfert fichier
      IF @error Then
         Local $hFileOpen = FileOpen($log,1)
         FileWrite($hFileOpen, "Echec du transfert de " & $SRCEcab & " vers : " & $IP & @CRLF)
         FileClose($hFileOpen)
      EndIf
;~ --------------------------------------------------------------------------------------------------
Local $hFileOpen = FileOpen($log,1)
FileWrite($hFileOpen, "Réussi vers l'IP " & $IP & @CRLF)
FileClose($hFileOpen)

Next ; fin de la boucle, il n'y a plus rien dans la section

MsgBox(0,"Terminé", "Traitement terminé")