Hvordan du opretter et automatisk værktøj til download og upload af filer ved hjælp af WinSCP-kommandoen.
Udgivelsesdato:9. december 2020.
INFOMARTION > Hvordan du opretter et automatisk værktøj til download og upload af filer ved hjælp af WinSCP-kommandoen.
Oversigt.
Opret et automatisk værktøj til download og upload af filer ved hjælp af WinSCP-kommandoen. Udfør de kommandoer, der leveres af WinSCP, ved hjælp af kommandoprompten. Det er ikke overraskende, at WinSCP indeholder kommandoer. Du bruger normalt "WinSCP.exe", men "WinSCP.com" er også tilgængelig. Du vil næsten aldrig se mappen "C:\Program Files (x86)\WinSCP" i genvejsbestemmelsen, da du normalt åbner den grundlæggende fra genvejen, men hvis du kigger på genvejsbestemmelsen, bør "WinSCP.com" også være gemt der. Det er her, værktøjet oprettes.
Indholdsfortegnelse
- Hvad er WinSCP-kommandoen?
- 1-1. Hvad du kan gøre.
- 1-2. Hvad du ikke kan gøre.
- Automatisk download-værktøj
- 2-1. fremstilling af
- 2-2. forberedelse af gennemførelsen
- 2-3. gennemførelse
- Automatisk upload-værktøj
- 3-1. fremstilling af
- 3-2. forberedelse af gennemførelsen
- 3-3. gennemførelse
- Andre kommandoer, der kan blive brugt ofte
- 4-1. nøglegodkendelse
- 4-2. Kaldelse af skallen
- resumé
1. Hvad er WinSCP-kommandoen?
WinSCP-kommandoen er en kommando, der giver dig mulighed for at udføre de WinSCP-operationer, du normalt udfører i GUI'en. Denne operation, som du normalt ville udføre på skærmen, udføres ved hjælp af en kommando.
1-1. Hvad du kan gøre.
Du kan downloade og uploade filer, oprette mapper, kalde shell-kommandoer og mange andre ting.
Kommandoer, der kan bruges ofte, omfatter.
open・・・Anvendes til tilslutning.
get・・・Bruges til at downloade filer.
put・・・Bruges til at uploade filer.
exit・・・Anvendes til skæring.
1-2. Hvad du ikke kan gøre.
Det er muligt at downloade og uploade grundlæggende filer, men efter at have brugt systemet virker det svært at kontrollere detaljerne.
Det virkede f.eks. vanskeligt at "kontrollere opdateringsdatoen for en fil og hente en fil med en bestemt opdateringsdato".
Hvis du ønsker at knytte komplekse betingelser til den fil, der skal manipuleres, kan du kalde shell'en med kommandoen "call", hvilket kan gøres ved hjælp af Windows-kommandoer, Linux-kommandoer osv.
2. Automatisk download-værktøj
Vi vil gerne oprette et værktøj, der faktisk automatisk downloader de logs, der er placeret på Linux-serveren.
2-1. fremstilling af
Opret et værktøj med følgende betingelser.
・Windows 10 som udførelsesmiljø.
・Den server, der skal erhverves, er Linux.
・IP-adresse 192.168.50.10.
Først skal du oprette en bat-fil som udgangspunkt for aktivering.
@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%
Bortset fra den sidste linje er resten af processen en Windows-kommando. Indhold.
@setlocal enabledelayedexpansion
Indstillinger for forsinkede miljøvariabler. Kort fortalt forhindrer denne beskrivelse, at der sættes en værdi på en variabel, som måske ikke afspejles.
@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 med at hente yyyymmddhmmss fra det aktuelle tidspunkt og endelig sætte det ind i FOLDER-variablen.
@mkdir %FOLDER%
Opret en mappe "yyyymmddhmmss" direkte under den mappe, hvor batchen blev udført.
@"C:\Program Files (x86)\WinSCP\WinSCP.com" /console /script=%~dp0ftp.txt /parameter %FOLDER%
WinSCP.com (WinSCP-kommando). Udførelsen udfører de kommandoer, der er anført i "ftp.txt" i den samme mappe, som batchfilen er gemt i. Overgiv den mappesti, du lige har oprettet, som et argument.
Dette afslutter oprettelsen af opkalderfilen. WinSCP-kommandoen er derefter beskrevet i "ftp.txt".
option batch on
option transfer binary
open test:testpassword@192.168.50.10
get /var/log/httpd/access_log %1%\
close
exit
Indhold.
option batch on
For processer, der kræver forespørgsel, antager systemet automatisk, at der er valgt "Nej", og processen udføres automatisk. Hvis du medtager dette, overskriver den automatisk alle duplikerede filnavne. (Du kan oprette en mappe "yyyymmddhmmss" og lægge filerne deri, så der dog ikke er dobbelte filnavne.)
option transfer binary
Indstillingen er indstillet til at overføre dataene i binær tilstand.
open test:testpassword@192.168.50.10
'brugernavn:pass-word@IP-adresse'. Opret forbindelse til IP-adressen "192.168.50.10".
get /var/log/httpd/access_log %1%\
Gem "/var/log/httpd/access_log" i mappen "yyyymmddhhmmss".('%1%' er det argument, der er overført i file_get.bat)
Der kan også bruges regulære udtryk, så hvis du skriver "/var/log/httpd/*", kan hele loggen hentes.
close
exit
Dette er en frakoblingsproces.
Dette afslutter oprettelsen af værktøjet.
2-2. forberedelse af gennemførelsen
Der foretages en forudgående fingeraftrykskontrol før henrettelsen.
Hvis serveren aldrig har været tilsluttet via WinSCP, vil du blive spurgt, om det er sikkert at oprette forbindelse. Hvis du trykker på "Ja", bliver der efterladt en registrering af, at du har trykket på "Ja", i et sted kaldet Windows-registreringsområdet. Dette sikrer, at systemet ikke kontrolleres en ekstra gang. Når du kører værktøjet, er det nødvendigt at gøre dette på forhånd og gemme oplysninger om serveren i registreringsdatabasen for at sikre, at det er sikkert at oprette forbindelse til den, så kør følgende kommandoer på kommandoprompten.
"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Du bliver bedt om et svar, indtast "y".
close
exit
exit
"test:testpassword@192.168.50.10" skal erstattes af "brugernavn:password@IP-adresse".
Dermed er de indledende forberedelser afsluttet.
2-3. gennemførelse
Endelig er det tid til at gennemføre den. Dobbeltklik på "file_get.bat".
Succes, hvis mappen "yyyymmddhhmmss" er oprettet, og logfilerne er gemt i mappen.
3. Automatisk upload-værktøj
Det næste skridt er at skabe et værktøj til at lægge filer på en Linux-server. Den grundlæggende opbygning vil være den samme som downloadværktøjet.
3-1. fremstilling af
Opret et værktøj med følgende betingelser.
・Windows 10 som udførelsesmiljø.
・Destinationsserveren er Linux.
・IP-adresse 192.168.50.10.
Først skal du oprette en bat-fil som udgangspunkt for aktivering.
@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%
Som det er blevet forklaret i værktøjet til automatisk download, er der udeladt en lille forklaring, men processen er at gemme filerne i mappen "put_files" i den samme mappe, hvor batchfilen udføres i "/tmp/". Den egentlige lagringsproces er beskrevet i "put_ftp.txt".
option batch on
option transfer binary
open test:testpassword@192.168.50.10
put %1% %2%
close
exit
Kommandoen "put %1%\ %2%" uploader filer i overensstemmelse med "kildefilen" og "destinationsmappen", der er angivet som argumenter, selv om en lille forklaring er udeladt, fordi dette også forklares i det automatiske downloadværktøj.
3-2. forberedelse af gennemførelsen
Som med det automatiske downloadværktøj kontrolleres fingeraftrykkene på forhånd, inden de udføres.(Ikke påkrævet, hvis det automatiske downloadværktøj er blevet kørt én gang.)
Udfør følgende kommando på kommandoprompten.
"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Du bliver bedt om et svar, indtast "y".
close
exit
exit
"test:testpassword@192.168.50.10" skal erstattes af "brugernavn:password@IP-adresse".
Dermed er de indledende forberedelser afsluttet.
3-3. gennemførelse
Endelig er det tid til at gennemføre den. Dobbeltklik på "file_put.bat".
Succes, hvis de filer, der er gemt i "put_files", er overført til mappen "/tmp/".
4. Andre kommandoer, der kan blive brugt ofte
Vi har introduceret grundlæggende downloading og upload, men vi vil også gerne beskrive andre kommandoer, der kan blive brugt ofte.
4-1. nøglegodkendelse
Tidligere har du logget ind med adgangskodegodkendelse i henhold til følgende beskrivelse.
open test:testpassword@192.168.50.10
'open brugernavn:adgangskode@IP-adresse'. For nøgleautentifikation gælder følgende.
open test@192.168.50.10 -privatekey=id_rsa.ppk
"-privatnøgle=id_rsa.ppk" er stien til nøglen. Da det er angivet som en relativ sti, antages det, at nøglen (id_rsa.ppk) også befinder sig i den mappe, hvor den eksekverbare fil (bat-filen) er placeret. Hvis nøglen f.eks. er placeret direkte under C-drevet, skal du skrive "-privatekey=C:\id_rsa.ppk".
4-2. Kaldelse af skallen
For at kalde shell'en ved hjælp af WinSCP-kommandoen skal du skrive som følger.
option batch on
option transfer binary
open test:testpassword@192.168.50.10
call sh /tmp/test.sh
close
exit
'test.sh' udføres af 'call sh /tmp/test.sh'. Det er også muligt at overdrage argumenter. Når du overfører argumenter, skal du skrive dem som "call sh /tmp/test.sh param1".
5. resumé
WinSCP-kommandoen er blevet beskrevet.
Hvis du normalt bruger WinSCP GUI til at logge og uploade filer på daglig basis, kan du automatisere dette ved at oprette de værktøjer, der er beskrevet i denne artikel. Det er måske en mindre opgave, men den kan tage meget tid, undtagen hvis den udføres hver dag. Vi opfordrer dig til at skabe værktøjer til at forbedre effektiviteten.
Tak, fordi du kiggede med til slutningen.