Kuidas luua automaatne failide allalaadimise ja üleslaadimise vahend WinSCP käsu abil.


Avaldamise kuupäev:9. detsember 2020.



INFOMARTION > Kuidas luua automaatne failide allalaadimise ja üleslaadimise vahend WinSCP käsu abil.

Ülevaade.

Loo automaatne failide allalaadimise ja üleslaadimise tööriist, kasutades käsku WinSCP. Sooritage WinSCP pakutavaid käske käsurea abil. Pole üllatav, et WinSCP pakub käske. Tavaliselt kasutate 'WinSCP.exe', kuid saadaval on ka 'WinSCP.com'. Sa ei näe peaaegu kunagi kausta "C:\Program Files (x86)\WinSCP" otsetee sihtkohas, kuna tavaliselt avad selle põhimõtteliselt otsetee kaudu, kuid kui sa vaatad otsetee sihtkohta, peaks seal olema ka "WinSCP.com". See on koht, kus tööriist luuakse.

Sisukord

  1. Mis on WinSCP käsk?
  2. Automaatne allalaadimistööriist
  3. Automaatne üleslaadimise tööriist
  4. Muud käsud, mida võidakse sageli kasutada
  5. kokkuvõte

1. Mis on WinSCP käsk?

WinSCP käsk on käsk, mis võimaldab teil teostada WinSCP operatsioone, mida tavaliselt teostate GUI-s. See toiming, mida tavaliselt teostate ekraanil, toimub käsu abil.

1-1. Mida saate teha.

Saate faile alla laadida ja üles laadida, luua kaustu, kutsuda shell-käske ja palju muud.

Sageli kasutatavad käsud on järgmised.

open・・・Kasutatakse ühendamiseks.

get・・・Kasutatakse failide allalaadimiseks.

put・・・Kasutatakse failide üleslaadimiseks.

exit・・・Kasutatakse lõikamiseks.

1-2. Mida te ei saa teha.

Põhilised failide allalaadimised ja üleslaadimised on võimalikud, kuid pärast süsteemi kasutamist tundub, et üksikasju on raske kontrollida.

Näiteks tundus keeruline "kontrollida faili uuendamiskuupäeva ja hankida määratud uuendamiskuupäevaga faili".

Kui soovite manipuleeritavale failile lisada keerulisi tingimusi, võite kutsuda shell'i käsuga 'call', mida saab teha Windowsi käskude, Linuxi käskude jne abil.

2. Automaatne allalaadimistööriist

Tahaksime luua tööriista, mis tegelikult automaatselt laeb alla Linuxi serverisse paigutatud logid.

2-1. tegemine

Looge tööriist järgmiste tingimustega.

・Windows 10 kui täitmiskeskkond.

・Omandatav server on Linux.

・IP-aadress 192.168.50.10.

Kõigepealt looge aktiveerimise lähtepunktiks bat-fail.

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% 

Välja arvatud viimane rida, on ülejäänud protsess Windowsi käsk. Sisu.

@setlocal enabledelayedexpansion

Viivitatud keskkonnamuutujate seaded. Lühidalt öeldes takistab see kirjeldus muutujale väärtuse määramist, mis ei pruugi kajastuda.

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

Protsess, mille käigus saadakse jooksvast ajast yyyymmddhmmss ja lõpuks pannakse see muutujasse FOLDER.

@mkdir %FOLDER%

Looge kaust 'yyyymmddhmmss' otse selle kausta alla, kus partii täideti.

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

WinSCP.com (WinSCP käsk). Täitmine täidab käsud, mis on loetletud failis "ftp.txt" samas kaustas, kus on salvestatud batch-fail. Andke argumendina üle äsja loodud kausta tee.

Sellega on helistaja faili loomine lõpetatud. WinSCP käsku kirjeldatakse seejärel failis "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

Sisu.

option batch on

Protsesside puhul, mis nõuavad päringut, eeldab süsteem automaatselt, et valitud on "Ei", ja täidab protsessi automaatselt. Kui lisate selle, kirjutab see automaatselt üle kõik dubleerivad failinimed. (Sa võid luua kausta "yyyymmddhmmss" ja panna failid sinna, nii et failide nimed ei oleks topelt.)

option transfer binary

Seadistus on andmete edastamine binaarses režiimis.

open test:testpassword@192.168.50.10

"kasutajanimi:salasõna@IP-aadress". Ühendage IP-aadressiga "192.168.50.10".

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

Salvesta '/var/log/httpd/access_log' kausta 'yyyymmddhhmmss'.('%1%' on fail_get.bat'is esitatud argument.)

Samuti saab kasutada regulaarseid väljendeid, nii et kui kirjutate "/var/log/httpd/*", saab kogu logi välja otsida.

close
exit

See on lahtiühendamise protsess.

Sellega on tööriista loomine lõpule viidud.

2-2. rakendamise ettevalmistamine

Enne täitmist tehakse esialgne sõrmejälgede võtmine.

Kui serveriga ei ole kunagi WinSCP kaudu ühendatud, küsitakse, kas ühendus on turvaline. Kui te vajutate "Jah", jääb "Jah" vajutamise kohta märge Windowsi registripiirkonda. See tagab, et süsteemi ei kontrollita teist korda. Tööriista käivitamisel on vaja seda eelnevalt teha ja salvestada teave serveri kohta registripiirkonda, et tagada selle turvaline ühendamine, seega käivitage käsurealt järgmised käsud.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Teilt küsitakse vastust, sisestage "y".
close
exit
exit

'test:testpassword@192.168.50.10' tuleks asendada 'kasutajanimi:parool@IP-aadress'.

Sellega on esialgsed ettevalmistused lõpule viidud.

2-3. rakendamine

Lõpuks on aeg seda rakendada. Topeltklõpsake faili 'file_get.bat'.

Edu, kui kaust "yyyymmddhhmmss" on loodud ja logid on salvestatud sellesse kausta.

3. Automaatne üleslaadimise tööriist

Järgmine samm on luua tööriist, millega saab faile Linuxi serverisse panna. Põhikonstruktsioon on sama, mis allalaadimisvahendil.

3-1. tegemine

Looge tööriist järgmiste tingimustega.

・Windows 10 kui täitmiskeskkond.

・Sihtotstarbeline server on Linux.

・IP-aadress 192.168.50.10.

Kõigepealt looge aktiveerimise lähtepunktiks bat-fail.

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%

Nagu automaatses allalaadimistööriistas on selgitatud, on väike selgitus välja jäetud, kuid protsess seisneb selles, et failid salvestatakse kausta 'put_files', mis asub samas kaustas, kus batch-faili käivitatakse '/tmp/'. Tegelik salvestusprotsess on kirjeldatud dokumendis "put_ftp.txt".

put_ftp.txt


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

Käsk "put %1%\ %2%" laadib failid üles vastavalt argumentidena esitatud "lähtefailile" ja "sihtkaustale", kuigi väike selgitus on välja jäetud, sest seda selgitatakse ka automaatse allalaadimise tööriista juures.

3-2. rakendamise ettevalmistamine

Nagu ka automaatse allalaadimisvahendi puhul, kontrollitakse sõrmejälgi enne täitmist.(Ei ole vajalik, kui automaatne allalaadimistööriist on üks kord käivitatud.)

Sooritage käsureal järgmine käsk.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Teilt küsitakse vastust, sisestage "y".
close
exit
exit

'test:testpassword@192.168.50.10' tuleks asendada 'kasutajanimi:parool@IP-aadress'.

Sellega on esialgsed ettevalmistused lõpule viidud.

3-3. rakendamine

Lõpuks on aeg seda rakendada. Topeltklõpsake faili 'file_put.bat'.

Edukas, kui failid, mis on salvestatud 'put_files', kantakse kausta '/tmp/'.

4. Muud käsud, mida võidakse sageli kasutada

Oleme tutvustanud põhilist allalaadimist ja üleslaadimist, kuid soovime kirjeldada ka teisi käske, mida võidakse sageli kasutada.

4-1. võtme autentimine

Varem logisite sisse parooliga autentimisega vastavalt järgmisele kirjeldusele.

open test:testpassword@192.168.50.10

'open kasutajanimi:parool@IP-aadress'. Võtme autentimise puhul kehtib järgmine.

open test@192.168.50.10 -privatekey=id_rsa.ppk

'-privatekey=id_rsa.ppk' on tee võtme juurde. Kuna see on loetletud suhtelise teena, eeldatakse, et võti (id_rsa.ppk) on ka selles kaustas, kus asub käivitatav fail (bat-fail). Näiteks kui võti asub otse C-ketta all, kirjutage "-privaatekey=C:\id_rsa.ppk".

4-2. Kooriku kutsumine

WinSCP käsu abil shell'i käivitamiseks kirjutage järgmiselt.

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

'test.sh' täidetakse käsuga 'call sh /tmp/test.sh'. Samuti on võimalik edastada argumente. Argumentide edastamisel kirjutage need järgmiselt: "call sh /tmp/test.sh param1".

5. kokkuvõte

WinSCP käsku on kirjeldatud.

Kui kasutate tavaliselt WinSCP GUI-d failide igapäevaseks logimiseks ja üleslaadimiseks, saate seda automatiseerida, luues käesolevas artiklis kirjeldatud tööriistad. See võib olla väike ülesanne, kuid see võib võtta palju aega, välja arvatud juhul, kui seda tehakse iga päev. Me julgustame teid looma vahendeid tõhususe parandamiseks.

Aitäh, et vaatasite kuni lõpuni.