Passer au contenu principal

Téléchargement automatique (script + planificateur) - Windows

Automatisez les transferts SFTP avec un script batch et le Planificateur de tâches Windows.

Écrit par Manon Champion

1. Script pour l’upload SFTP

Ce script automatise le transfert de fichiers d’un répertoire local vers un serveur SFTP distant en utilisant une clé SSH privée pour l’authentification.

Instructions

  • Création du script :

    1. Copiez le script modèle dans votre éditeur de texte (Notepad, Notepad++, Visual Studio Code, etc.).

    2. Modifiez la section "Variables personnalisées - la seule partie à configurer".

@echo offREM === Variables personnalisées - la seule partie à configurer ===set LOCAL_DIR=C:\FolderOnYourServer\set ARCHIVE_DIR=C:\ArchiveFolderOnYourServer\set SFTP_DIR=/SFTP_path/set USERNAME=sftp_user.agicapset PRIVATE_KEY=C:\FolderOnYourServer\private_key.ppkset LOG_FILE=C:\FolderOnYourServer\log.logset WINSCP=C:\Program Files (x86)\WinSCP\winscp.comREM === Vérifications de base ===if not exist "%WINSCP%" (    echo Erreur : WinSCP n’est pas installé.    goto :exit)if not exist "%PRIVATE_KEY%" (    echo Erreur : Clé privée introuvable.    goto :exit)REM === Exécution du transfert SFTP ===echo. 2> "%LOG_FILE%""%WINSCP%" /log="%LOG_FILE%" /command ^    "open sftp://%USERNAME%@files.agicap.com:2222 -privatekey=\"%PRIVATE_KEY%\" -hostkey=\"*\"" ^    "put -transfer=auto \"%LOCAL_DIR%\*\" \"%SFTP_DIR%\"" ^    "exit"REM === Archivage post-transfert ===set WINSCP_RESULT=%ERRORLEVEL%if %WINSCP_RESULT% equ 0 (    move /Y "%LOCAL_DIR%\*" "%ARCHIVE_DIR%") else (    echo "Le transfert a échoué, vérifiez le fichier log : %LOG_FILE%") :exittimeout /t 10

  • Personnalisation :

    1. LOCAL_DIR : Répertoire sur votre serveur contenant les fichiers à envoyer.

    2. ARCHIVE_DIR : Répertoire sur votre serveur pour archiver les fichiers envoyés.

    3. SFTP_DIR : Chemin cible sur le serveur SFTP (demandez à Agicap).

    4. USERNAME : Identifiant fourni par Agicap.

    5. PRIVATE_KEY : Chemin vers la clé SSH privée.

    6. LOG_FILE : Fichier log pour enregistrer les détails d’exécution.

  • Enregistrez et exécutez :

    1. Enregistrez le fichier avec l’extension .bat (exemple : sftp_upload_script.bat).

    2. Double-cliquez sur le fichier pour exécuter le script et vérifiez qu’il fonctionne comme prévu.

2. Planification du script

Après avoir créé et validé votre script, vous pouvez configurer son exécution automatique à l’aide du Planificateur de tâches Windows. Ce guide explique comment configurer des tâches planifiées pour vos scripts.

Structure des dossiers

Organisation des fichiers recommandée :

C:\Agicap\   ├── Logs\         (pour les fichiers log)   ├── Exports\      (pour les fichiers en attente de transfert)   ├── Archives\     (pour la sauvegarde des fichiers transférés)   ├── Scripts\     (placez vos scripts bat)   ├── Keys\     (placez vos clés privées et publiques)

Mise en place de l’exécution automatique de la tâche

  • Ouvrir le Planificateur de tâches

    1. Recherchez "Planificateur de tâches" dans le menu Démarrer de Windows

    2. Lancez l’application

  • Créer une nouvelle tâche planifiée

    1. Dans le menu Action, sélectionnez "Créer une tâche"

  • Configurer les paramètres de la tâche

    1. Informations de base

      • Attribuez un nom et une description explicites

  • Paramètres de planification

    • Sélectionnez la fréquence "Quotidienne"

    • Choisissez l’heure de début souhaitée (ex : 5h30)

    • Vérifiez que "Répéter tous les 1 jour" est sélectionné

  • Configuration de l’action

    • Choisissez "Démarrer un programme"

    • Parcourez et sélectionnez votre fichier script

  • Finaliser la configuration

    1. Vérifiez tous les détails de configuration

    2. Cliquez sur "Terminer" pour activer la planification

    3. Votre tâche apparaîtra maintenant dans la bibliothèque du Planificateur de tâches où vous pourrez modifier les paramètres si besoin

Avez-vous trouvé la réponse à votre question ?