Hur man skapar ett verktyg för automatisk nedladdning och uppladdning av filer med hjälp av WinSCP-kommandot.


Datum för offentliggörande:9 december 2020.



INFOMARTION > Hur man skapar ett verktyg för automatisk nedladdning och uppladdning av filer med hjälp av WinSCP-kommandot.

Översikt.

Skapa ett verktyg för automatisk nedladdning och uppladdning av filer med hjälp av WinSCP-kommandot. Utför de kommandon som WinSCP tillhandahåller i kommandotolken. WinSCP tillhandahåller kommandon, vilket inte är förvånande. Du använder normalt WinSCP.exe, men det finns även WinSCP.com. Du kommer nästan aldrig att se mappen "C:\Program Files (x86)\WinSCP" i genvägsdestinationen, eftersom du vanligtvis öppnar den i princip från genvägen, men om du tittar på genvägsdestinationen bör "WinSCP.com" också lagras där. Det är här verktyget skapas.

Innehållsförteckning

  1. Vad är WinSCP-kommandot?
  2. Automatiskt nedladdningsverktyg
  3. Verktyg för automatisk uppladdning
  4. Andra kommandon som kan användas ofta
  5. sammanfattning

1. Vad är WinSCP-kommandot?

WinSCP-kommandot är ett kommando som gör att du kan utföra de WinSCP-operationer som du normalt utför i det grafiska gränssnittet. Denna operation, som du normalt skulle utföra på skärmen, utförs med hjälp av ett kommando.

1-1. Vad du kan göra.

Du kan hämta och ladda upp filer, skapa mappar, kalla skalkommandon och många andra saker.

Kommandon som kan användas ofta är bland annat.

open・・・Används för anslutning.

get・・・Används för att ladda ner filer.

put・・・Används för att ladda upp filer.

exit・・・Används för skärning.

1-2. Vad du inte kan göra.

Grundläggande nedladdningar och uppladdningar av filer är möjliga, men efter att ha använt systemet verkar det svårt att kontrollera detaljerna.

Det verkade till exempel svårt att "kontrollera uppdateringsdatumet för en fil och hämta en fil med ett angivet uppdateringsdatum".

Om du vill koppla komplexa villkor till den fil som ska manipuleras kan du anropa skalet med kommandot "call", vilket kan göras med hjälp av Windows-kommandon, Linux-kommandon osv.

2. Automatiskt nedladdningsverktyg

Vi vill skapa ett verktyg som automatiskt hämtar de loggar som finns på Linux-servern.

2-1. tillverkning av

Skapa ett verktyg med följande villkor.

・Windows 10 som utförandemiljö.

・Den server som ska köpas är en Linux-server.

・IP-adress 192.168.50.10.

Skapa först en bat-fil som utgångspunkt för aktivering.

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% 

Förutom den sista raden är resten av processen ett Windows-kommando. Innehåll.

@setlocal enabledelayedexpansion

Inställningar för fördröjda miljövariabler. Kortfattat kan man säga att denna beskrivning förhindrar att ett värde sätts till en variabel som kanske inte återspeglas.

@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%

Processen att hämta yyyymmddhmmss från den aktuella tiden och slutligen placera den i variabeln FOLDER.

@mkdir %FOLDER%

Skapa en mapp "yyyymmddhmmss" direkt under den mapp där batchprogrammet kördes.

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

WinSCP.com (WinSCP-kommando). Exekveringen utför de kommandon som anges i "ftp.txt" i samma mapp som batchfilen är lagrad i. Överlämna sökvägen till den mapp som du just har skapat som ett argument.

Detta avslutar skapandet av filen med uppringare. WinSCP-kommandot beskrivs sedan i "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

Innehåll.

option batch on

När det gäller processer som kräver en fråga antar systemet automatiskt att "Nej" har valts och utför automatiskt processen. Om du anger detta kommer det automatiskt att skriva över alla dubbla filnamn. (Du kan skapa en mapp "yyyymmddhmmss" och lägga filerna där, så att det inte finns några dubbla filnamn.)

option transfer binary

Inställningen är att överföra data i binärt läge.

open test:testpassword@192.168.50.10

"användarnamn:pass-word@IP-adress". Anslut till IP-adressen "192.168.50.10".

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

Lagra "/var/log/httpd/access_log" i mappen "yyyymmddhhmmss".("%1%" är det argument som överlämnades i file_get.bat)

Regelbundna uttryck kan också användas, så om du skriver "/var/log/httpd/*" kan hela loggen hämtas.

close
exit

Detta är en process för att koppla bort kopplingen.

Detta avslutar skapandet av verktyget.

2-2. Förberedelser för genomförande.

Före avrättningen utförs en preliminär fingeravtrycksbestämning.

Om servern aldrig har anslutits till via WinSCP får du frågan om det är säkert att ansluta. Om du trycker på "Ja" lämnas ett meddelande om att du har tryckt på "Ja" på en plats som kallas Windows-registret. Detta garanterar att systemet inte kontrolleras en andra gång. När du kör verktyget är det nödvändigt att göra detta i förväg och spara information om servern i registret för att se till att det är säkert att ansluta till den, så kör följande kommandon i kommandotolken.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Du uppmanas att svara, ange "y".
close
exit
exit

"test:testpassword@192.168.50.10" ska ersättas med "användarnamn:lösenord@IP-adress".

Därmed är de förberedande förberedelserna avslutade.

2-3. genomförande

Slutligen är det dags att genomföra den. Dubbelklicka på "file_get.bat".

Framgång om mappen "yyyymmddhhmmss" skapas och loggarna lagras i mappen.

3. Verktyg för automatisk uppladdning

Nästa steg är att skapa ett verktyg för att lägga upp filer på en Linux-server. Den grundläggande konstruktionen är densamma som för nedladdningsverktyget.

3-1. tillverkning av

Skapa ett verktyg med följande villkor.

・Windows 10 som utförandemiljö.

・Målservern är Linux.

・IP-adress 192.168.50.10.

Skapa först en bat-fil som utgångspunkt för aktivering.

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%

Eftersom det har förklarats i det automatiska nedladdningsverktyget har en liten förklaring utelämnats, men processen går ut på att lagra filerna i mappen "put_files" i samma mapp där batchfilen körs i "/tmp/". Själva lagringsprocessen beskrivs i "put_ftp.txt".

put_ftp.txt


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

Kommandot "put %1%\ %2%" laddar upp filer i enlighet med "källfilen" och "målmappen" som anges som argument, även om en liten förklaring utelämnas eftersom detta också förklaras i verktyget för automatisk nedladdning.

3-2. Förberedelser för genomförande.

Precis som med verktyget för automatisk nedladdning kontrolleras fingeravtrycken i förväg innan de utförs.(Behövs inte om verktyget för automatisk nedladdning har körts en gång.)

Utför följande kommando i kommandotolken.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Du uppmanas att svara, ange "y".
close
exit
exit

"test:testpassword@192.168.50.10" ska ersättas med "användarnamn:lösenord@IP-adress".

Därmed är de förberedande förberedelserna avslutade.

3-3. genomförande

Slutligen är det dags att genomföra den. Dubbelklicka på "file_put.bat".

Framgång om de filer som lagras i "put_files" överförs till mappen "/tmp/".

4. Andra kommandon som kan användas ofta

Vi har introducerat grundläggande nedladdning och uppladdning, men vi vill också beskriva andra kommandon som kan användas ofta.

4-1. nyckelautentisering

Tidigare loggade du in med lösenordsautentisering enligt följande beskrivning.

open test:testpassword@192.168.50.10

'open användarnamn:lösenord@IP-adress'. För nyckelautentisering gäller följande.

open test@192.168.50.10 -privatekey=id_rsa.ppk

"-privatnyckel=id_rsa.ppk" är sökvägen till nyckeln. Eftersom den anges som en relativ sökväg antas det att nyckeln (id_rsa.ppk) också finns i den mapp där den körbara filen (bat-filen) finns. Om nyckeln till exempel finns direkt under C skriver du "-privatnyckel=C:\id_rsa.ppk".

4-2. Anropa skalet

För att anropa skalet med hjälp av WinSCP-kommandot skriver du så här.

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

"test.sh" utförs av "call sh /tmp/test.sh". Det är också möjligt att skicka argument. När du skickar argument skriver du dem som "call sh /tmp/test.sh param1".

5. sammanfattning

WinSCP-kommandot har beskrivits.

Om du normalt använder WinSCP GUI för att logga och ladda upp filer dagligen kan du automatisera detta genom att skapa de verktyg som beskrivs i den här artikeln. Det kan vara en liten uppgift, men den kan ta mycket tid i anspråk, utom om den görs varje dag. Vi uppmuntrar dig att skapa verktyg för att förbättra effektiviteten.

Tack för att du tittade på till slutet.




■INFORMATION

Klicka här för att komma till den översta sidan med information.


■PROFILE

Klicka här för en profil.


■Kontaktuppgifter.

För frågor om artikeln, vänligen kontakta oss här.