IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

FTP vers partage Windows (DOS)


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut FTP vers partage Windows (DOS)
    Bonjour à tous.

    Je me permet de venir vous solliciter car je galère un peu en script ...

    En gros je dois récupérer des fichiers via un FTP et les copier sur un partage Windows.

    On m'a mis à dispo un .exe pour lister les chemins des sauvegardes. Ce .exe me renvoi 4 lignes que j'ai mis dans un fichier texte LastBackup.txt

    Dans ces 4 lignes il y a 4 chemin de fichiers du même nom sur 4 emplacements différents (Prod, Dev, backup France et backup UK).
    Il me faut prendre que le fichier de Prod.

    Le problème c'est que le chemin de l'emplacement de stockage des fichiers n'est pas forcement toujours le même. (Ça aurait été trop facile !)
    Moi je n'y arrive que si le fichier était toujours sur la ligne 2


    C'est sur qu'en VBScript ou Powershell ça pourrait être plus simple mais je ne suis pas bon dans ses langages de script.

    Voila ce que j'ai fais. C'est pas forcement le mieux mais bon ...


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    *********************************
    :------------------------------------------
    :Contenu du fichier LastBackup.txt qui liste les sauvegardes (sur des serveurs différents)
    :------------------------------------------
    : MainDB, SRVWPH01, \\192.168.1.110\d$\BACKUP\SRVWPH01\MainDB\MainDB_231020120532.bak, FR, DEV
    : MainDB, SRVWPH05, \\192.168.1.50\d$\BACKUP\SRVWPH05\MainDB\MainDB_231020120532.bak, FR, PROD
    : MainDB, SRVWPH10, \\192.168.1.110\d$\BACKUP\SRVWPH10\MainDB\MainDB_231020120532.bak, FR, BACKUP
    : MainDB, SRVWVM03, \\192.168.7.85\d$\BACKUP\SRVWVM03\MainDB\MainDB_231020120532.bak, UK, BACKUP
    :------------------------------------------
    :
    :------------------------------------------
    : Récupération du répertoire du FTP
    :------------------------------------------
    FOR /F "tokens=3 delims=, skip=1" %%G IN (LastBackup.txt) DO @echo%%G>>Files.txt
    sed.exe "2,4d" Files.txt>full_URL.txt
    del /F /Q Files.txt
    FOR /F "tokens=2 delims=$" %%G IN (full_URL.txt) DO set f-url=%%G
    set url=%f-url:~0,-23%
    :------------------------------------------
    : Récupération de l'IP du serveur FTP (CA pourrait être le 192.168.1.110, 192.168.1.50 ou le 192.168.7.85)
    :------------------------------------------
    FOR /F "tokens=1 delims=$" %%I IN (full_URL.txt) DO set f-FTP=%%I
    set FTP=%f-FTP:~2,-2%
    del /F /Q full_URL.txt
    :------------------------------------------
    : Création du fichier de connexion et d'action sur le FTP (Copie de la sauvegarde sur un serveur en 192.168.2.10)
    :------------------------------------------
    echo open %FTP%>FTP.ftp
    echo UserFTP>>FTP.ftp
    echo P@ssW0rD>>FTP.ftp
    echo prompt>>FTP.ftp
    echo lcd \\192.168.2.10\d$\Deposit>>FTP.ftp
    echo cd %url%>>FTP.ftp
    echo mget *.bak>>FTP.ftp
    echo quit>>FTP.ftp
    ftp -s:FTP.ftp>\\192.168.2.10\d$\Deposit\Transfert_OK.txt
    del .\FTP.ftp
    *********************************
    J'aurais besoin de sélectionner la ligne pour extraire l'URL en fonction de la fin en FR, PROD.
    La ligne n'est pas toujours la N°2 et pas forcement sur le serveur en 192.168.1.50.

    Merci de l'aide que vous pourrez m'apporter !


    Toto

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bon, j'ai eu une réponse d'un ami.

    Voila sa solution :

    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
    *********************************
    :------------------------------------------
    : Récupération du répertoire du FTP
    :------------------------------------------
    sed -n "/PROD/p" LastBackup.txt | sed "s/.*$\\\(.*MainDB\\\).*/\1/">url.txt
    set /p url=<url.txt
    del /F /Q url.txt
    :------------------------------------------
    : Récupération de l'IP du serveur FTP
    :------------------------------------------
    sed -n "/PROD/p" LastBackup.txt | sed "s/.*\\\\\(.*\)\\d.*/\1/">IPFTP.txt
    set /p FTP=<IPFTP.txt
    del /F /Q IPFTP.txt
    :------------------------------------------
    : Création du fichier de connexion et d'action sur le FTP
    :------------------------------------------
    echo open %FTP%>FTP.ftp
    echo UserFTP>>FTP.ftp
    echo P@ssW0rD>>FTP.ftp
    echo prompt>>FTP.ftp
    echo lcd \\192.168.2.10\d$\Deposit>>FTP.ftp
    echo cd %url%>>FTP.ftp
    echo mget *.bak>>FTP.ftp
    echo quit>>FTP.ftp
    ftp -s:FTP.ftp>\\192.168.2.10\d$\Deposit\Transfert_OK.txt
    del .\FTP.ftp
    *********************************
    Il me reste un autre problème a régler mais celui la déjà c'est cool. Il me faudrait pouvoir renommer le fichier à sauvegarder en .bak.temp le temps du transfert puis une fois le transfert terminé le renommé en .bak.

    Si vous avez une idée ....

  3. #3
    Membre éclairé Avatar de Lekno
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    883
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 883
    Points : 761
    Points
    761
    Par défaut
    en exportant ta liste simplement ?

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    tacommande > tonfichier.bak.temp

Discussions similaires

  1. [Windows Phone 8] transfert FTP WP8 vers serveur windows
    Par thierry007 dans le forum Windows Phone
    Réponses: 5
    Dernier message: 13/11/2013, 11h17
  2. Envoyer un fichier vers un dossier partagé Windows
    Par elfiestador dans le forum Entrée/Sortie
    Réponses: 12
    Dernier message: 03/01/2007, 18h08
  3. Réponses: 2
    Dernier message: 22/12/2006, 10h38
  4. Réponses: 2
    Dernier message: 12/04/2006, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo