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
- Mi az a WinSCP parancs?
- 1-1. Mit tehetsz.
- 1-2. Amit nem tehetsz.
- Automatikus letöltő eszköz
- 2-1. készítése
- 2-2. a végrehajtás előkészítése
- 2-3. végrehajtás
- Automatikus feltöltő eszköz
- 3-1. készítése
- 3-2. a végrehajtás előkészítése
- 3-3. végrehajtás
- Egyéb gyakran használt parancsok
- 4-1. kulcshitelesítés
- 4-2. A shell hívása
- ö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.
@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.
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.
@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.
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.