Jak vytvořit nástroj pro automatické stahování a odesílání souborů pomocí příkazu WinSCP.


Datum vydání:9. prosince 2020.



INFOMARTION > Jak vytvořit nástroj pro automatické stahování a odesílání souborů pomocí příkazu WinSCP.

Přehled.

Vytvoření nástroje pro automatické stahování a odesílání souborů pomocí příkazu WinSCP. Spusťte příkazy poskytované protokolem WinSCP pomocí příkazového řádku. Není překvapením, že WinSCP poskytuje příkazy. Obvykle se používá soubor 'WinSCP.exe', ale k dispozici je také soubor 'WinSCP.com'. Složku "C:\Program Files (x86)\WinSCP" v cíli zástupce téměř nikdy neuvidíte, protože ji obvykle otevíráte zásadně ze zástupce, ale pokud se podíváte na cíl zástupce, měla by tam být uložena také složka "WinSCP.com". Zde je nástroj vytvořen.

Obsah

  1. Co je to příkaz WinSCP?
  2. Nástroj pro automatické stahování
  3. Nástroj pro automatické nahrávání
  4. Další často používané příkazy
  5. shrnutí

1. Co je to příkaz WinSCP?

Příkaz WinSCP je příkaz, který umožňuje provádět operace WinSCP, které se obvykle provádějí v grafickém uživatelském rozhraní. Tato operace, kterou byste normálně prováděli na obrazovce, se provádí pomocí příkazu.

1-1. Co můžete udělat.

Můžete stahovat a nahrávat soubory, vytvářet složky, volat příkazy shellu a mnoho dalších věcí.

Mezi často používané příkazy patří.

open・・・Slouží k připojení.

get・・・Slouží ke stahování souborů.

put・・・Slouží k nahrávání souborů.

exit・・・Používá se k řezání.

1-2. Co nemůžete dělat.

Základní stahování a odesílání souborů je možné, ale po použití systému se zdá být obtížné kontrolovat podrobnosti.

Například se zdálo obtížné "zkontrolovat datum aktualizace souboru a načíst soubor se zadaným datem aktualizace".

Pokud chcete k manipulovanému souboru připojit složité podmínky, můžete shell zavolat příkazem 'call', což lze provést pomocí příkazů systému Windows, Linuxu atd.

2. Nástroj pro automatické stahování

Rádi bychom vytvořili nástroj, který bude skutečně automaticky stahovat protokoly umístěné na serveru Linux.

2-1. tvorba

Vytvořte nástroj s následujícími podmínkami.

・Windows 10 jako prostředí pro spouštění.

・Server, který má být pořízen, je Linux.

・IP adresa 192.168.50.10.

Nejprve vytvořte bat soubor jako výchozí bod pro aktivaci.

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% 

Kromě posledního řádku je zbytek procesu příkazem systému Windows. Obsah.

@setlocal enabledelayedexpansion

Nastavení zpožděných proměnných prostředí. Stručně řečeno, tento popis zabraňuje nastavení hodnoty proměnné, která se nemusí projevit.

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

Proces získání yyyymmddhmmss z aktuálního času a nakonec jeho vložení do proměnné FOLDER.

@mkdir %FOLDER%

Vytvořte složku "yyyymmddhmmss" přímo pod složkou, ve které byla dávka spuštěna.

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

WinSCP.com (příkaz WinSCP). Spuštění provede příkazy uvedené v souboru "ftp.txt" ve stejné složce, kde je uložen dávkový soubor. Jako argument předejte právě vytvořenou cestu ke složce.

Tím je vytvoření souboru volajícího dokončeno. Příkaz WinSCP je pak popsán v souboru "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

Obsah.

option batch on

U procesů, které vyžadují dotazování, systém automaticky předpokládá, že byla vybrána možnost "Ne", a proces automaticky provede. Pokud tuto možnost uvedete, automaticky se přepíší všechny duplicitní názvy souborů. (Můžete vytvořit složku "yyyymmddhmmss" a umístit do ní soubory, aby se názvy souborů neduplikovaly.)

option transfer binary

Nastavení spočívá v přenosu dat v binárním režimu.

open test:testpassword@192.168.50.10

'username:pass-word@IP address'. Připojte se k adrese IP "192.168.50.10".

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

Uložte '/var/log/httpd/access_log' do složky 'yyyymmddhhmmss'.('%1%' je argument předaný v souboru file_get.bat)

Lze také použít regulární výrazy, takže pokud napíšete "/var/log/httpd/*", lze načíst celý protokol.

close
exit

Jedná se o proces odpojení.

Tím je tvorba nástroje dokončena.

2-2. příprava realizace

Před provedením se provádí předběžné snímání otisků prstů.

Pokud jste se k serveru nikdy nepřipojovali prostřednictvím protokolu WinSCP, zobrazí se dotaz, zda je připojení bezpečné. Pokud stisknete tlačítko "Ano", zůstane záznam o stisknutí tlačítka "Ano" na místě zvaném oblast registru systému Windows. Tím se zajistí, že systém nebude kontrolován podruhé. Při spuštění nástroje je nutné to udělat předem a uložit informace o serveru do oblasti registru, aby bylo zajištěno, že se k němu lze bezpečně připojit, proto v příkazovém řádku spusťte následující příkazy.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Zobrazí se výzva k odpovědi, zadejte "y".
close
exit
exit

'test:testpassword@192.168.50.10' by mělo být nahrazeno 'username:password@IP address'.

Tím jsou předběžné přípravy ukončeny.

2-3. implementace

Nakonec je čas ji realizovat. Dvakrát klikněte na soubor 'file_get.bat'.

Úspěch, pokud je vytvořena složka "yyyymmddhhmmss" a protokoly jsou v ní uloženy.

3. Nástroj pro automatické nahrávání

Dalším krokem je vytvoření nástroje pro umístění souborů na server Linux. Základní konstrukce bude stejná jako u nástroje pro stahování.

3-1. tvorba

Vytvořte nástroj s následujícími podmínkami.

・Windows 10 jako prostředí pro spouštění.

・Cílový server je Linux.

・IP adresa 192.168.50.10.

Nejprve vytvořte bat soubor jako výchozí bod pro aktivaci.

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%

Jak bylo vysvětleno v nástroji pro automatické stahování, malé vysvětlení je vynecháno, ale postup spočívá v uložení souborů do složky 'put_files' ve stejné složce, kde je dávkový soubor spuštěn v '/tmp/'. Vlastní proces ukládání je popsán v souboru "put_ftp.txt".

put_ftp.txt


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

Příkaz "put %1%\ %2%" nahraje soubory podle "zdrojového souboru" a "cílové složky" předaných jako argumenty, i když je vynecháno malé vysvětlení, protože to je také vysvětleno u nástroje pro automatické stahování.

3-2. příprava realizace

Stejně jako u nástroje pro automatické stahování jsou otisky prstů před provedením zkontrolovány.(Není nutné, pokud byl nástroj pro automatické stahování již jednou spuštěn.)

Na příkazovém řádku spusťte následující příkaz.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Zobrazí se výzva k odpovědi, zadejte "y".
close
exit
exit

'test:testpassword@192.168.50.10' by mělo být nahrazeno 'username:password@IP address'.

Tím jsou předběžné přípravy ukončeny.

3-3. implementace

Nakonec je čas ji realizovat. Dvakrát klikněte na soubor 'file_put.bat'.

Úspěch, pokud jsou soubory uložené v 'put_files' přeneseny do složky '/tmp/'.

4. Další často používané příkazy

Představili jsme si základní stahování a nahrávání, ale rádi bychom popsali i další příkazy, které se mohou často používat.

4-1. ověření pravosti klíče

Dříve jste se přihlásili pomocí ověřování hesla podle následujícího popisu.

open test:testpassword@192.168.50.10

'open username:password@IP address'. Pro ověřování klíčů platí následující.

open test@192.168.50.10 -privatekey=id_rsa.ppk

Příkaz '-privatekey=id_rsa.ppk' je cesta ke klíči. Protože je uveden jako relativní cesta, předpokládá se, že klíč (id_rsa.ppk) je také ve složce, kde je umístěn spustitelný soubor (soubor bat). Pokud se například klíč nachází přímo pod jednotkou C, napište "-privatekey=C:\id_rsa.ppk".

4-2. Volání shellu

Chcete-li vyvolat shell pomocí příkazu WinSCP, napište následující příkaz.

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

'test.sh' se spustí příkazem 'call sh /tmp/test.sh'. Je také možné předávat argumenty. Při předávání argumentů je zapisujte jako "call sh /tmp/test.sh param1".

5. shrnutí

Příkaz WinSCP byl popsán.

Pokud běžně používáte grafické rozhraní WinSCP ke každodennímu protokolování a odesílání souborů, můžete tuto činnost automatizovat vytvořením nástrojů popsaných v tomto článku. Může to být drobný úkol, ale může zabrat spoustu času, kromě případů, kdy se provádí každý den. Doporučujeme vám vytvářet nástroje pro zvýšení efektivity.

Děkujeme, že jste se dívali až do konce.




■INFORMATION

Kliknutím sem přejdete na horní stránku s informacemi.


■PROFILE

Kliknutím sem získáte profil.


■Kontaktní údaje.

V případě dotazů k článku nás prosím kontaktujte zde.