Automatikus fájlletöltő és -feltöltő eszköz létrehozása a WinSCP parancs segítségével.


Megjelenés dátuma:2020. december 9.



INFOMARTION > Automatikus fájlletöltő és -feltöltő eszköz létrehozása a WinSCP parancs segítségével.

Áttekintés.

Automatikus fájlletöltő és -feltöltő eszköz létrehozása a WinSCP parancs segítségével. A parancssor segítségével hajtsa végre a WinSCP által megadott parancsokat. Nem meglepő módon a WinSCP parancsokat biztosít. Általában a 'WinSCP.exe'-t használja, de a 'WinSCP.com' is elérhető. A "C:\Program Files (x86)\WinSCP" mappát szinte soha nem fogja látni a parancsikon célállomásában, mivel általában alapvetően a parancsikonból nyitja meg, de ha megnézi a parancsikon célállomását, a "WinSCP.com" mappának is ott kell lennie. Itt jön létre az eszköz.

Tartalomjegyzék

  1. Mi az a WinSCP parancs?
  2. Automatikus letöltő eszköz
  3. Automatikus feltöltő eszköz
  4. Egyéb gyakran használt parancsok
  5. összefoglaló

1. Mi az a WinSCP parancs?

A WinSCP parancs egy olyan parancs, amely lehetővé teszi a WinSCP-műveletek végrehajtását, amelyeket általában a GUI-ban végez. Ezt a műveletet, amelyet normál esetben a képernyőn végezne, egy parancs segítségével hajtja végre.

1-1. Mit tehetsz.

Letölthet és feltölthet fájlokat, létrehozhat mappákat, hívhat shell parancsokat és sok más dolgot.

A gyakran használt parancsok a következők.

open・・・Csatlakozáshoz használatos.

get・・・Fájlok letöltésére szolgál.

put・・・Fájlok feltöltésére szolgál.

exit・・・Vágáshoz használatos.

1-2. Amit nem tehetsz.

Az alapvető fájlletöltések és -feltöltések lehetségesek, de a rendszer használata után nehéznek tűnik a részletek ellenőrzése.

Például nehéznek tűnt "egy fájl frissítési dátumának ellenőrzése és egy megadott frissítési dátumú fájl lekérése".

Ha összetett feltételeket akarsz csatolni a manipulálandó fájlhoz, akkor a 'call' paranccsal hívhatod a héjat, ami Windows-parancsokkal, Linux-parancsokkal stb. érhető el.

2. Automatikus letöltő eszköz

Szeretnénk létrehozni egy olyan eszközt, amely ténylegesen automatikusan letölti a Linux szerveren elhelyezett naplókat.

2-1. készítése

Hozzon létre egy eszközt a következő feltételekkel.

・Windows 10, mint végrehajtási környezet.

・A beszerzendő szerver Linux.

・IP-cím 192.168.50.10.

Először hozzon létre egy bat fájlt az aktiválás kiindulópontjaként.

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% 

Az utolsó sor kivételével a folyamat többi része egy Windows-parancs. Tartalom.

@setlocal enabledelayedexpansion

A késleltetett környezeti változók beállításai. Röviden, ez a leírás megakadályozza, hogy olyan értéket adjunk meg egy változónak, amely esetleg nem tükröződik.

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

A "yyyymmddhmmss" érték megszerzése az aktuális időből, és végül a FOLDER változóba helyezése.

@mkdir %FOLDER%

Hozzon létre egy 'yyyymmddhmmss' mappát közvetlenül a mappa alatt, ahol a köteg végrehajtása történt.

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

WinSCP.com (WinSCP parancs). A végrehajtás végrehajtja az "ftp.txt"-ben felsorolt parancsokat ugyanabban a mappában, ahol a kötegelt fájl található. Adja meg argumentumként az imént létrehozott mappa elérési útvonalát.

Ezzel befejeződik a hívó fájl létrehozása. A WinSCP parancsot ezután az "ftp.txt" tartalmazza.

ftp.txt


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

Tartalom.

option batch on

A lekérdezést igénylő folyamatok esetében a rendszer automatikusan feltételezi, hogy a "Nem" értéket választotta, és automatikusan végrehajtja a folyamatot. Ha ezt beilleszti, akkor automatikusan felülírja a duplikált fájlneveket. (Létrehozhat egy "yyyymmddhmmss" mappát, és ebbe helyezheti el a fájlokat, hogy ne legyenek duplikált fájlnevek.)

option transfer binary

A beállítás szerint az adatokat bináris üzemmódban kell továbbítani.

open test:testpassword@192.168.50.10

'username:pass-word@IP-cím'. Csatlakozzon a "192.168.50.10" IP-címhez.

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

Tárolja a '/var/log/httpd/access_log' fájlt a 'yyyymmddhhmmss' mappában.('%1%' a file_get.bat fájlban átadott argumentum.)

A reguláris kifejezések is használhatók, így ha azt írjuk, hogy "/var/log/httpd/*", akkor a teljes naplót lekérdezhetjük.

close
exit

Ez egy leválasztási folyamat.

Ezzel befejeződik az eszköz létrehozása.

2-2. a végrehajtás előkészítése

A végrehajtás előtt előzetes ujjlenyomatvételre kerül sor.

Ha a szerverhez még soha nem csatlakozott WinSCP-n keresztül, a rendszer megkérdezi, hogy biztonságos-e a csatlakozás. Ha az "Igen" gombot nyomja meg, az "Igen" megnyomásáról egy bejegyzés marad a Windows rendszerleíró adatbázisában. Ez biztosítja, hogy a rendszert nem ellenőrzik másodszor. Az eszköz futtatásakor ezt előre meg kell tenni, és a kiszolgálóra vonatkozó információkat el kell menteni a rendszerleíró adatbázisban, hogy a csatlakozás biztonságos legyen, ezért futtassa a következő parancsokat a parancssorban.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒A rendszer választ kér, írja be az "y"-t.
close
exit
exit

A "test:testpassword@192.168.50.10" helyébe "felhasználónév:jelszó@IP-cím" lép.

Ezzel befejeződnek az előzetes előkészületek.

2-3. végrehajtás

Végül eljött a végrehajtás ideje. Kattintson duplán a 'file_get.bat' állományra.

Siker, ha a "yyyymmddhhmmss" mappa létrejön, és a naplók a mappában tárolódnak.

3. Automatikus feltöltő eszköz

A következő lépés egy olyan eszköz létrehozása, amellyel fájlokat helyezhetünk el egy Linux-kiszolgálóra. Az alapkonstrukció ugyanaz lesz, mint a letöltő eszközé.

3-1. készítése

Hozzon létre egy eszközt a következő feltételekkel.

・Windows 10, mint végrehajtási környezet.

・A célkiszolgáló Linux.

・IP-cím 192.168.50.10.

Először hozzon létre egy bat fájlt az aktiválás kiindulópontjaként.

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%

Mivel az automatikus letöltési eszközben már elmagyaráztuk, egy kis magyarázatot kihagyunk, de a folyamat lényege, hogy a fájlokat a 'put_files' mappában tároljuk, ugyanabban a mappában, ahol a batch fájl végrehajtásra kerül a '/tmp/' mappában. A tényleges tárolási folyamatot a "put_ftp.txt" írja le.

put_ftp.txt


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

A "put %1%\ %2%" parancs az argumentumként átadott "forrásfájl" és "célmappa" szerint tölti fel a fájlokat, bár egy kis magyarázat elmarad, mert ezt az automatikus letöltési eszköznél is elmagyarázzák.

3-2. a végrehajtás előkészítése

Az automatikus letöltőeszközhöz hasonlóan az ujjlenyomatokat is előzetesen ellenőrzik a végrehajtás előtt.(Nem szükséges, ha az automatikus letöltési eszköz már egyszer lefutott.)

Futtassa a következő parancsot a parancssorban.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒A rendszer választ kér, írja be az "y"-t.
close
exit
exit

A "test:testpassword@192.168.50.10" helyébe "felhasználónév:jelszó@IP-cím" lép.

Ezzel befejeződnek az előzetes előkészületek.

3-3. végrehajtás

Végül eljött a végrehajtás ideje. Kattintson duplán a 'file_put.bat' állományra.

Sikeres, ha a 'put_files' mappában tárolt fájlok átkerülnek a '/tmp/' mappába.

4. Egyéb gyakran használt parancsok

Bemutattuk az alapvető letöltést és feltöltést, de szeretnénk ismertetni más, gyakran használt parancsokat is.

4-1. kulcshitelesítés

Korábban az alábbi leírás szerint jelszavas hitelesítéssel jelentkezett be.

open test:testpassword@192.168.50.10

'open username:password@IP address'. A kulcshitelesítésre a következők vonatkoznak.

open test@192.168.50.10 -privatekey=id_rsa.ppk

A '-privatekey=id_rsa.ppk' a kulcs elérési útvonala. Mivel relatív elérési útként szerepel, feltételezzük, hogy a kulcs (id_rsa.ppk) is abban a mappában van, ahol a futtatható fájl (bat fájl) található. Ha például a kulcs közvetlenül a C meghajtó alatt található, írja be, hogy "-privatekey=C:\id_rsa.ppk".

4-2. A shell hívása

A héj meghívásához a WinSCP parancs segítségével írja a következőket.

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

A 'test.sh' parancsot a 'call sh /tmp/test.sh' hajtja végre. Lehetőség van argumentumok átadására is. Az argumentumok átadásakor írja őket a következőképpen: "call sh /tmp/test.sh param1".

5. összefoglaló

A WinSCP parancsot már ismertettük.

Ha általában a WinSCP GUI-t használja a fájlok napi szintű naplózására és feltöltésére, akkor ezt automatizálhatja az ebben a cikkben leírt eszközök létrehozásával. Lehet, hogy ez egy kisebb feladat, de sok időt vehet igénybe, kivéve, ha minden nap elvégezzük. Arra ösztönözzük Önt, hogy hozzon létre a hatékonyságot javító eszközöket.

Köszönjük, hogy a végéig figyeltek.