Cum se creează un instrument de descărcare și încărcare automată a fișierelor utilizând comanda WinSCP.


Data publicării:9 decembrie 2020.



INFOMARTION > Cum se creează un instrument de descărcare și încărcare automată a fișierelor utilizând comanda WinSCP.

Prezentare generală.

Creați un instrument de descărcare și încărcare automată a fișierelor utilizând comanda WinSCP. Executați comenzile furnizate de WinSCP utilizând promptul de comandă. Nu este surprinzător faptul că WinSCP oferă comenzi. În mod normal se utilizează "WinSCP.exe", dar este disponibil și "WinSCP.com". Aproape niciodată nu veți vedea folderul "C:\Program Files (x86)\WinSCP" în destinația scurtătură, deoarece, de obicei, îl deschideți practic din scurtătură, dar dacă vă uitați la destinația scurtătură, "WinSCP.com" ar trebui să fie, de asemenea, stocat acolo. Acesta este locul în care este creat instrumentul.

Cuprins

  1. Ce este comanda WinSCP?
  2. Instrument de descărcare automată
  3. Instrument de încărcare automată
  4. Alte comenzi care pot fi utilizate frecvent
  5. rezumat

1. Ce este comanda WinSCP?

Comanda WinSCP este o comandă care vă permite să efectuați operațiile WinSCP pe care le efectuați în mod normal în GUI. Această operațiune, pe care în mod normal ar trebui să o efectuați pe ecran, se realizează prin intermediul unei comenzi.

1-1. Ce puteți face.

Puteți să descărcați și să încărcați fișiere, să creați foldere, să apelați comenzi shell și multe alte lucruri.

Comenzile care pot fi utilizate frecvent includ.

open・・・Utilizat pentru conectare.

get・・・Folosit pentru a descărca fișiere.

put・・・Utilizat pentru încărcarea fișierelor.

exit・・・Se utilizează pentru tăiere.

1-2. Ce nu puteți face.

Descărcările și încărcările de fișiere de bază sunt posibile, dar, după ce ați folosit sistemul, pare dificil să controlați detaliile.

De exemplu, a părut dificil de "a verifica data de actualizare a unui fișier și de a prelua un fișier cu o dată de actualizare specificată".

Dacă doriți să atașați condiții complexe la fișierul care urmează să fie manipulat, puteți apela shell-ul cu ajutorul comenzii "call", care poate fi realizată folosind comenzi Windows, comenzi Linux etc.

2. Instrument de descărcare automată

Am dori să creăm un instrument care să descarce automat jurnalele plasate pe serverul Linux.

2-1. realizarea

Creați un instrument cu următoarele condiții.

・Windows 10 ca mediu de execuție.

・Serverul care urmează să fie achiziționat este Linux.

・Adresa IP 192.168.50.10.

În primul rând, creați un fișier bat ca punct de plecare pentru activare.

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% 

Cu excepția ultimei linii, restul procesului este o comandă Windows. Conținut.

@setlocal enabledelayedexpansion

Setări pentru variabilele de mediu întârziate. Pe scurt, această descriere previne stabilirea unei valori pentru o variabilă care poate să nu fie reflectată.

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

Procesul de obținere ayyymmddhmmss din ora curentă și, în final, de introducere a acesteia în variabila FOLDER.

@mkdir %FOLDER%

Creați un dosar "yyyymmddhmmss" direct sub dosarul în care a fost executat lotul.

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

WinSCP.com (comanda WinSCP). Execuția execută comenzile enumerate în "ftp.txt" în același dosar în care este stocat fișierul batch. Transmiteți calea dosarului pe care tocmai l-ați creat ca argument.

Astfel se încheie crearea fișierului de apelant. Comanda WinSCP este apoi descrisă în "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

Conținut.

option batch on

Pentru procesele care necesită interogare, sistemul presupune în mod automat că a fost selectat "Nu" și execută automat procesul. Dacă includeți acest lucru, se va suprascrie automat orice nume de fișier duplicat. (Puteți crea un dosar "yyyymmddhmmss" și să puneți fișierele acolo, astfel încât să nu existe nume de fișiere duplicate.)

option transfer binary

Setarea este de a transfera datele în modul binar.

open test:testpassword@192.168.50.10

'username:pass-word@ adresa IP'. Conectați-vă la adresa IP "192.168.50.10".

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

Stocați "/var/log/httpd/access_log" în dosarul "yyyymmddhhmmss".('%1%' este argumentul trecut în file_get.bat)

De asemenea, se pot utiliza expresii regulate, astfel încât, dacă scrieți "/var/log/httpd/*", întregul jurnal poate fi recuperat.

close
exit

Acesta este un proces de deconectare.

Astfel se finalizează crearea instrumentului.

2-2. pregătirea implementării

Înainte de executare, se efectuează o amprentare preliminară.

Dacă serverul nu a fost conectat niciodată prin WinSCP, veți fi întrebat dacă este sigur să vă conectați. Dacă apăsați "Da", o înregistrare a apăsării "Da" este lăsată într-un loc numit zona de registru Windows. Acest lucru garantează că sistemul nu este verificat a doua oară. Atunci când executați instrumentul, este necesar să faceți acest lucru în avans și să salvați informații despre server în zona de registru pentru a vă asigura că este sigur să vă conectați la acesta, așa că rulați următoarele comenzi la linia de comandă.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Vi se solicită un răspuns, introduceți "y".
close
exit
exit

"test:testpassword@192.168.50.10" trebuie înlocuit cu "nume utilizator:parolă@adresa IP".

Astfel se încheie pregătirile preliminare.

2-3. implementare

În cele din urmă, a sosit momentul să o punem în aplicare. Faceți dublu clic pe "file_get.bat".

Succes dacă este creat folderul "yyyymmddhhmmss" și dacă jurnalele sunt stocate în acest folder.

3. Instrument de încărcare automată

Următorul pas este de a crea un instrument pentru a pune fișiere pe un server Linux. Construcția de bază va fi aceeași cu cea a instrumentului de descărcare.

3-1. realizarea

Creați un instrument cu următoarele condiții.

・Windows 10 ca mediu de execuție.

・Serverul de destinație este Linux.

・Adresa IP 192.168.50.10.

În primul rând, creați un fișier bat ca punct de plecare pentru activare.

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%

Așa cum a fost explicat în instrumentul de descărcare automată, se omite o mică explicație, dar procesul constă în stocarea fișierelor în dosarul "put_files" din același dosar în care este executat fișierul batch în "/tmp/". Procesul efectiv de stocare este descris în "put_ftp.txt".

put_ftp.txt


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

Comanda "put %1%\ %2%" încarcă fișierele în funcție de "fișierul sursă" și de "folderul de destinație" trecute ca argumente, deși se omite o mică explicație, deoarece acest lucru este explicat și la instrumentul de descărcare automată.

3-2. pregătirea implementării

Ca și în cazul instrumentului de descărcare automată, amprentele digitale sunt verificate în prealabil înainte de execuție.(Nu este necesar dacă instrumentul de descărcare automată a fost rulat o dată.)

Executați următoarea comandă la promptul de comandă.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Vi se solicită un răspuns, introduceți "y".
close
exit
exit

"test:testpassword@192.168.50.10" trebuie înlocuit cu "nume utilizator:parolă@adresa IP".

Astfel se încheie pregătirile preliminare.

3-3. implementare

În cele din urmă, a sosit momentul să o punem în aplicare. Faceți dublu clic pe "file_put.bat".

Succes dacă fișierele stocate în "put_files" sunt transferate în dosarul "/tmp/".

4. Alte comenzi care pot fi utilizate frecvent

Am prezentat procedurile de bază de descărcare și încărcare, dar am dori să descriem și alte comenzi care pot fi utilizate frecvent.

4-1. autentificare cu cheie

Anterior, v-ați conectat cu autentificarea prin parolă conform următoarei descrieri.

open test:testpassword@192.168.50.10

'deschide numele de utilizator:parola@adresa IP'. Pentru autentificarea prin cheie, se aplică următoarele reguli.

open test@192.168.50.10 -privatekey=id_rsa.ppk

"-privatekey=id_rsa.ppk" este calea către cheie. Deoarece este listată ca o cale relativă, se presupune că cheia (id_rsa.ppk) se află, de asemenea, în dosarul în care se află fișierul executabil (fișierul bat). De exemplu, dacă cheia este localizată direct sub unitatea C, scrieți "-privatekey=C:\id_rsa.ppk".

4-2. Apelarea shell-ului

Pentru a invoca shell-ul prin intermediul comenzii WinSCP, scrieți după cum urmează.

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

'test.sh' este executat de 'call sh /tmp/test.sh'. De asemenea, este posibilă transmiterea de argumente. Atunci când treceți argumente, scrieți-le sub forma "call sh /tmp/test.sh param1".

5. rezumat

Comanda WinSCP a fost descrisă.

Dacă utilizați în mod normal interfața grafică WinSCP pentru a înregistra și încărca zilnic fișiere, puteți automatiza acest lucru prin crearea instrumentelor descrise în acest articol. Poate fi o sarcină minoră, dar poate ocupa mult timp, cu excepția cazului în care este făcută în fiecare zi. Vă încurajăm să creați instrumente pentru a îmbunătăți eficiența.

Vă mulțumim că ați urmărit până la sfârșit.