Vai al contenuto principale

Caricamento automatico (script + pianificatore) - Windows

Automatizza trasferimenti SFTP con script batch e Task Scheduler.

Scritto da Giorgio Coen Tanugi

1. Script per il caricamento SFTP

Questo script automatizza il trasferimento di file da una directory locale a un server SFTP remoto utilizzando una chiave SSH privata per l'autenticazione.

Istruzioni

  • Creazione dello script:

    1. Copia il modello di script nel tuo editor di testo (Notepad, Notepad++, Visual Studio Code, ecc.).

    2. Modifica la sezione "Variabili personalizzate - l'unica parte da configurare".

@echo offREM === Variabili personalizzate - l'unica parte da configurare ===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 === Controlli di base ===if not exist "%WINSCP%" (    echo Errore: WinSCP non è installato.    goto :exit)if not exist "%PRIVATE_KEY%" (    echo Errore: Chiave privata non trovata.    goto :exit)REM === Esecuzione trasferimento 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 === Archiviazione post-trasferimento ===set WINSCP_RESULT=%ERRORLEVEL%if %WINSCP_RESULT% equ 0 (    move /Y "%LOCAL_DIR%\*" "%ARCHIVE_DIR%") else (    echo "Il trasferimento è fallito, controlla il file di log: %LOG_FILE%") :exittimeout /t 10

  • Personalizzazione:

    1. LOCAL_DIR : Directory sul tuo server contenente i file da inviare.

    2. ARCHIVE_DIR : Directory sul tuo server dove archiviare i file inviati.

    3. SFTP_DIR : Percorso di destinazione sul server SFTP (chiedi ad Agicap).

    4. USERNAME : Nome utente fornito da Agicap.

    5. PRIVATE_KEY : Percorso della chiave SSH privata.

    6. LOG_FILE : File di log per registrare i dettagli di esecuzione.

  • Salva ed esegui:

    1. Salva il file con estensione .bat (esempio: sftp_upload_script.bat).

    2. Fai doppio clic sul file per eseguire lo script e verifica che funzioni come previsto.

2. Pianificazione dello script

Dopo aver creato e validato il tuo script, puoi impostare l'esecuzione automatica utilizzando il Task Scheduler di Windows. Questa guida spiega come configurare attività pianificate per i tuoi script.

Struttura delle directory

Organizzazione dei file consigliata:

C:\Agicap\   ├── Logs\         (per i file di log)   ├── Exports\      (per i file in attesa di trasferimento)   ├── Archives\     (per il backup dei file trasferiti)   ├── Scripts\     (inserisci qui i tuoi script bat)   ├── Keys\     (inserisci qui le tue chiavi private e pubbliche)

Configurazione dell'esecuzione automatica delle attività

  • Apri Task Scheduler

    1. Cerca "Task Scheduler" nel menu Start di Windows

    2. Avvia l'applicazione

  • Crea una nuova attività pianificata

    1. Nel menu Azione, seleziona "Crea attività"

  • Configura le impostazioni dell'attività

    1. Informazioni di base

      • Assegna un nome e una descrizione significativi

  • Impostazioni di pianificazione

    • Seleziona la frequenza "Giornaliera"

    • Scegli l'orario di inizio desiderato (es. 5:30 AM)

    • Conferma che sia selezionato "Ripeti ogni 1 giorno"

  • Configurazione azione

    • Scegli "Avvia un programma"

    • Sfoglia e seleziona il file del tuo script

  • Finalizza la configurazione

    1. Rivedi tutti i dettagli della configurazione

    2. Clicca su "Fine" per attivare la pianificazione

    3. La tua attività ora apparirà nella libreria di Task Scheduler dove potrai modificare le impostazioni secondo necessità

Hai ricevuto la risposta alla tua domanda?