Come creare uno strumento per il download e l'upload automatico di file utilizzando il comando WinSCP.


Data di pubblicazione:9 dicembre 2020.



INFOMARTION > Come creare uno strumento per il download e l'upload automatico di file utilizzando il comando WinSCP.

Panoramica.

Creare uno strumento per il download e il caricamento automatico dei file utilizzando il comando WinSCP. Eseguire i comandi forniti da WinSCP utilizzando il prompt dei comandi. Non sorprende che WinSCP fornisca dei comandi. Normalmente si usa "WinSCP.exe", ma è disponibile anche "WinSCP.com". Non vedrete quasi mai la cartella "C:\Program Files (x86)\WinSCP" nella destinazione del collegamento, poiché di solito lo aprite fondamentalmente dal collegamento, ma se guardate la destinazione del collegamento, anche "WinSCP.com" dovrebbe essere memorizzato lì. È qui che viene creato lo strumento.

Indice dei contenuti

  1. Che cos'è il comando WinSCP?
  2. Strumento di download automatico
  3. Strumento di caricamento automatico
  4. Altri comandi che possono essere utilizzati di frequente
  5. sintesi

1. Che cos'è il comando WinSCP?

Il comando WinSCP è un comando che consente di eseguire le operazioni di WinSCP normalmente eseguite nella GUI. Questa operazione, che normalmente si effettua sullo schermo, viene eseguita mediante un comando.

1-1. Cosa potete fare.

È possibile scaricare e caricare file, creare cartelle, richiamare comandi di shell e molte altre cose.

I comandi che possono essere utilizzati di frequente includono.

open・・・Utilizzato per il collegamento.

get・・・Utilizzato per scaricare i file.

put・・・Utilizzato per il caricamento dei file.

exit・・・Utilizzato per il taglio.

1-2. Cosa non si può fare.

È possibile scaricare e caricare file di base, ma dopo aver utilizzato il sistema, sembra difficile controllare i dettagli.

Ad esempio, sembrava difficile "controllare la data di aggiornamento di un file e recuperare un file con una data di aggiornamento specificata".

Se si desidera aggiungere condizioni complesse al file da manipolare, si può chiamare la shell con il comando 'call', che può essere ottenuto con comandi Windows, Linux, ecc.

2. Strumento di download automatico

Vorremmo creare uno strumento che scarichi automaticamente i log presenti sul server Linux.

2-1. realizzazione

Creare uno strumento con le seguenti condizioni.

・Windows 10 come ambiente di esecuzione.

・Il server da acquisire è Linux.

・Indirizzo IP 192.168.50.10.

Per prima cosa, creare un file bat come punto di partenza per l'attivazione.

file_get.bat


@setlocal enabledelayedexpansion
@set time2=%time: =0%
@set MKDIR_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%
@set FOLDER=%~dp0%MKDIR_NAME%
@mkdir %FOLDER%
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER% 

Ad eccezione dell'ultima riga, il resto del processo è un comando di Windows. Contenuto.

@setlocal enabledelayedexpansion

Impostazioni per le variabili d'ambiente ritardate. In breve, questa descrizione impedisce di impostare un valore a una variabile che potrebbe non essere rispecchiato.

@set time2=%time: =0%
@set MKDIR_NAME=%date:~0,4%%date:~5,2%%date:~8,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%
@set FOLDER=%~dp0%MKDIR_NAME%

Il processo di ottenimento di yyyymmddhmmss dall'ora corrente e infine di inserimento nella variabile FOLDER.

@mkdir %FOLDER%

Creare una cartella 'yyyymmddhmmss' direttamente sotto la cartella in cui è stato eseguito il batch.

@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER% 

WinSCP.com (comando WinSCP). L'esecuzione esegue i comandi elencati in "ftp.txt" nella stessa cartella in cui è memorizzato il file batch. Passare come argomento il percorso della cartella appena creata.

Questo completa la creazione del file chiamante. Il comando WinSCP è descritto in "ftp.txt".

ftp.txt


option batch on
option transfer binary
open test:testpassword@192.168.50.10
get /var/log/httpd/access_log %1%\
close
exit

Contenuto.

option batch on

Per i processi che richiedono un'interrogazione, il sistema presume automaticamente che sia stato selezionato "No" ed esegue automaticamente il processo. Se si include questa opzione, i nomi dei file duplicati verranno sovrascritti automaticamente. (È possibile creare una cartella "yyyymmddhmmss" e inserirvi i file, in modo che non vi siano nomi di file duplicati.)

option transfer binary

L'impostazione prevede il trasferimento dei dati in modalità binaria.

open test:testpassword@192.168.50.10

'username:pass-word@indirizzo IP'. Collegarsi all'indirizzo IP "192.168.50.10".

get /var/log/httpd/access_log %1%\

Memorizzare '/var/log/httpd/access_log' nella cartella 'yyyymmddhhmmss'.('%1%' è l'argomento passato in file_get.bat)

È possibile utilizzare anche espressioni regolari, per cui se si scrive "/var/log/httpd/*", è possibile recuperare l'intero registro.

close
exit

Si tratta di un processo di disconnessione.

Questo completa la creazione dello strumento.

2-2. preparazione all'attuazione

Prima dell'esecuzione viene effettuato un rilevamento preliminare delle impronte digitali.

Se il server non è mai stato collegato tramite WinSCP, vi verrà chiesto se la connessione è sicura. Se si preme "Sì", viene lasciata una registrazione della pressione di "Sì" in un luogo chiamato area del registro di Windows. In questo modo si evita che il sistema venga controllato una seconda volta. Quando si esegue lo strumento, è necessario farlo in anticipo e salvare le informazioni sul server nell'area del registro per garantire la sicurezza della connessione, quindi eseguire i seguenti comandi nel prompt dei comandi.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Viene richiesta una risposta, inserire "y".
close
exit
exit

'test:testpassword@192.168.50.10' deve essere sostituito da 'username:password@indirizzo IP'.

In questo modo si completano i preparativi preliminari.

2-3. implementazione

Infine, è arrivato il momento di implementarlo. Fare doppio clic su "file_get.bat".

Successo se la cartella "yyyymmddhhmmss" viene creata e i registri vengono memorizzati nella cartella.

3. Strumento di caricamento automatico

Il passo successivo è quello di creare uno strumento per mettere i file su un server Linux. La struttura di base sarà la stessa dello strumento di download.

3-1. realizzazione

Creare uno strumento con le seguenti condizioni.

・Windows 10 come ambiente di esecuzione.

・Il server di destinazione è Linux.

・Indirizzo IP 192.168.50.10.

Per prima cosa, creare un file bat come punto di partenza per l'attivazione.

file_put.bat


@setlocal enabledelayedexpansion
@set FOLDER_NAME="put_files\*"
@set FOLDER=%~dp0%FOLDER_NAME%
@set PUT_FOLDER="/tmp/"
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0put_ftp.txt /parameter %FOLDER% %PUT_FOLDER%

Come è stato spiegato nello strumento di download automatico, si omette una piccola spiegazione, ma il processo consiste nel memorizzare i file nella cartella 'put_files' nella stessa cartella in cui viene eseguito il file batch in '/tmp/'. Il processo di memorizzazione effettivo è descritto in "put_ftp.txt".

put_ftp.txt


option batch on
option transfer binary
open test:testpassword@192.168.50.10
put %1% %2%
close
exit

Il comando "put %1%\ %2%" carica i file in base al "file sorgente" e alla "cartella di destinazione" passati come argomenti, anche se viene omessa una piccola spiegazione perché questo viene spiegato anche nello strumento di download automatico.

3-2. preparazione all'attuazione

Come per lo strumento di download automatico, le impronte digitali vengono controllate in anticipo prima dell'esecuzione.(Non è necessario se lo strumento di download automatico è stato eseguito una volta.)

Eseguire il seguente comando al prompt dei comandi.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Viene richiesta una risposta, inserire "y".
close
exit
exit

'test:testpassword@192.168.50.10' deve essere sostituito da 'username:password@indirizzo IP'.

In questo modo si completano i preparativi preliminari.

3-3. implementazione

Infine, è arrivato il momento di implementarlo. Fare doppio clic su "file_put.bat".

Ha successo se i file memorizzati in 'put_files' vengono trasferiti nella cartella '/tmp/'.

4. Altri comandi che possono essere utilizzati di frequente

Abbiamo introdotto le operazioni di base di download e upload, ma vorremmo descrivere anche altri comandi che possono essere usati frequentemente.

4-1. autenticazione della chiave

Prima si è effettuato l'accesso con l'autenticazione tramite password secondo la seguente descrizione.

open test:testpassword@192.168.50.10

'apri nome utente:password@indirizzo IP'. Per l'autenticazione delle chiavi, vale quanto segue.

open test@192.168.50.10 -privatekey=id_rsa.ppk

Il parametro "-privatekey=id_rsa.ppk" è il percorso della chiave. Poiché è elencato come percorso relativo, si presume che la chiave (id_rsa.ppk) si trovi anche nella cartella in cui si trova il file eseguibile (file bat). Ad esempio, se la chiave si trova direttamente nell'unità C, scrivere "-privatekey=C:\id_rsa.ppk".

4-2. Chiamare la shell

Per richiamare la shell tramite il comando WinSCP, scrivere come segue.

option batch on
option transfer binary
open test:testpassword@192.168.50.10
call sh /tmp/test.sh
close
exit

test.sh" viene eseguito da "call sh /tmp/test.sh". È anche possibile passare degli argomenti. Quando si passano gli argomenti, scriverli come "call sh /tmp/test.sh param1".

5. sintesi

Il comando WinSCP è stato descritto.

Se normalmente si utilizza la GUI di WinSCP per registrare e caricare i file su base giornaliera, è possibile automatizzare questa operazione creando gli strumenti descritti in questo articolo. Può essere un compito di poco conto, ma può portare via molto tempo, a meno che non lo si faccia tutti i giorni. Vi incoraggiamo a creare strumenti per migliorare l'efficienza.

Grazie per aver guardato fino alla fine.




■INFORMATION

Fare clic qui per accedere alla pagina superiore di INFORMAZIONI.


■PROFILE

Cliccare qui per un profilo.


■Dettagli di contatto.

Per richieste di informazioni sull'articolo, contattateci qui.