Kā izveidot automātisku failu lejupielādes un augšupielādes rīku, izmantojot komandu WinSCP.


Publikācijas datums:2020. gada 9. decembris.



INFOMARTION > Kā izveidot automātisku failu lejupielādes un augšupielādes rīku, izmantojot komandu WinSCP.

Pārskats.

Izveidojiet automātisku failu lejupielādes un augšupielādes rīku, izmantojot komandu WinSCP. Izpildiet WinSCP sniegtās komandas, izmantojot komandu uzvedni. Nav pārsteidzoši, ka WinSCP nodrošina komandas. Parasti izmantojiet "WinSCP.exe", bet ir pieejams arī "WinSCP.com". Jūs gandrīz nekad neredzēsiet mapi "C:\Program Files (x86)\WinSCP" īsceļu galamērķī, jo parasti to atverat, izmantojot īsceļu, bet, ja apskatāt īsceļu galamērķi, tur būtu jāglabā arī "WinSCP.com". Šeit tiek izveidots rīks.

Saturs

  1. Kas ir WinSCP komanda?
  2. Automātiskās lejupielādes rīks
  3. Automātiskās augšupielādes rīks
  4. Citas bieži lietojamas komandas
  5. kopsavilkums

1. Kas ir WinSCP komanda?

WinSCP komanda ir komanda, kas ļauj veikt WinSCP operācijas, kuras parasti veicat GUI. Šī darbība, ko parasti veicat ekrānā, tiek veikta, izmantojot komandu.

1-1. Ko jūs varat darīt.

Varat lejupielādēt un augšupielādēt failus, izveidot mapes, izsaukt čaulas komandas un daudz ko citu.

Bieži var izmantot šādas komandas.

open・・・Izmanto savienošanai.

get・・・Izmanto, lai lejupielādētu failus.

put・・・Izmanto failu augšupielādei.

exit・・・Izmanto griešanai.

1-2. Ko jūs nevarat darīt.

Ir iespējama pamata failu lejupielāde un augšupielāde, taču pēc sistēmas lietošanas šķiet, ka ir grūti kontrolēt detaļas.

Piemēram, šķita sarežģīti "pārbaudīt faila atjaunināšanas datumu un iegūt failu ar norādīto atjaunināšanas datumu".

Ja vēlaties manipulējamajam failam pievienot sarežģītus nosacījumus, varat izsaukt apvalku ar komandu 'call', ko var izdarīt, izmantojot Windows komandas, Linux komandas u. c.

2. Automātiskās lejupielādes rīks

Mēs vēlamies izveidot rīku, kas faktiski automātiski lejupielādēs Linux serverī ievietotos žurnālus.

2-1. veidojot

Izveidojiet rīku ar šādiem nosacījumiem.

・Windows 10 kā izpildes vide.

・Iegūstamais serveris ir Linux.

・IP adrese 192.168.50.10.

Vispirms izveidojiet bat failu kā sākuma punktu aktivizēšanai.

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% 

Izņemot pēdējo rindu, pārējais process ir Windows komanda. Saturs.

@setlocal enabledelayedexpansion

Aizkavēto vides mainīgo iestatījumi. Īsumā, šis apraksts novērš vērtības iestatīšanu mainīgajam, kas var neatspoguļoties.

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

Process, kurā no pašreizējā laika tiek iegūts yyyymmddddhmmss un beidzot tas tiek ievietots mainīgajā FOLDER.

@mkdir %FOLDER%

Izveidojiet mapi "yyyymmddddhmmss" tieši zem mapes, kurā tika izpildīta partija.

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

WinSCP.com (WinSCP komanda). Izpilde izpilda "ftp.txt" uzskaitītās komandas tajā pašā mapē, kurā ir saglabāts partijas fails. Kā argumentu nododiet tikko izveidoto mapes ceļu.

Tādējādi tiek pabeigta izsaucēja faila izveide. WinSCP komanda ir aprakstīta failā "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

Saturs.

option batch on

Attiecībā uz procesiem, kuriem nepieciešama vaicāšana, sistēma automātiski pieņem, ka ir izvēlēts "Nē", un automātiski izpilda procesu. Ja to iekļausiet, automātiski tiks pārrakstīti visi dublētie failu nosaukumi. (Varat izveidot mapi "yyyymmmddhmmss" un ievietot failus tajā, lai nedublētos failu nosaukumi.)

option transfer binary

Tiek iestatīts pārsūtīt datus binārajā režīmā.

open test:testpassword@192.168.50.10

'username:pass-word@IP adrese'. Pievienojieties IP adresei "192.168.50.10".

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

Saglabājiet '/var/log/httpd/access_log' mapē 'yyyymmddhhmmss'.('%1%' ir arguments, kas nodots failā file_get.bat)

Var izmantot arī regulārās izteiksmes, tāpēc, ierakstot "/var/log/httpd/*", var iegūt visu žurnālu.

close
exit

Tas ir atvienošanas process.

Ar to tiek pabeigta rīka izveide.

2-2. īstenošanas sagatavošana

Pirms izpildes tiek veikta iepriekšēja pirkstu nospiedumu noņemšana.

Ja serverim nekad nav izveidots savienojums, izmantojot WinSCP, jums tiks uzdots jautājums, vai ir droši izveidot savienojumu. Ja nospiežat "Jā", ieraksts par to, ka nospiežat "Jā", tiek saglabāts vietā, ko sauc par Windows reģistra apgabalu. Tas nodrošina, ka sistēma netiek pārbaudīta otrreiz. Palaižot rīku, ir nepieciešams to izdarīt iepriekš un saglabāt informāciju par serveri reģistra apgabalā, lai nodrošinātu, ka ar to ir droši izveidot savienojumu, tāpēc komandu uzvednē izpildiet šādas komandas.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Tiek pieprasīta atbilde, ievadiet "y".
close
exit
exit

'test:testpassword@192.168.50.10' jāaizstāj ar 'username:password@IP address'.

Ar to ir pabeigti priekšdarbi.

2-3. īstenošana

Beidzot ir pienācis laiks to īstenot. Divreiz noklikšķiniet uz 'file_get.bat'.

Veiksmīgi, ja ir izveidota mape "yyyymmddhhmmss" un žurnāli tiek saglabāti mapē.

3. Automātiskās augšupielādes rīks

Nākamais solis ir izveidot rīku failu ievietošanai Linux serverī. Pamata konstrukcija būs tāda pati kā lejupielādes rīka gadījumā.

3-1. veidojot

Izveidojiet rīku ar šādiem nosacījumiem.

・Windows 10 kā izpildes vide.

・Galamērķa serveris ir Linux.

・IP adrese 192.168.50.10.

Vispirms izveidojiet bat failu kā sākuma punktu aktivizēšanai.

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%

Tā kā tas ir izskaidrots automātiskās lejupielādes rīkā, neliels skaidrojums ir izlaists, bet process ir saglabāt failus mapē "put_files" tajā pašā mapē, kurā tiek izpildīts partijas fails "/tmp/". Faktiskais saglabāšanas process ir aprakstīts failā "put_ftp.txt".

put_ftp.txt


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

Komanda "put %1%\%2%" augšupielādē failus saskaņā ar "avota failu" un "galamērķa mapi", kas iesniegti kā argumenti, lai gan neliels skaidrojums ir izlaists, jo tas ir izskaidrots arī automātiskās lejupielādes rīkā.

3-2. īstenošanas sagatavošana

Tāpat kā automātiskās lejupielādes rīka gadījumā, pirkstu nospiedumi pirms izpildes tiek pārbaudīti iepriekš.(Nav nepieciešams, ja vienreiz ir palaists automātiskās lejupielādes rīks.)

Komandu uzvednē izpildiet šādu komandu.

"C:\Program Files (x86)\WinSCP\WinSCP.com"
open test:testpassword@192.168.50.10 ⇒Tiek pieprasīta atbilde, ievadiet "y".
close
exit
exit

'test:testpassword@192.168.50.10' jāaizstāj ar 'username:password@IP address'.

Ar to ir pabeigti priekšdarbi.

3-3. īstenošana

Beidzot ir pienācis laiks to īstenot. Divreiz noklikšķiniet uz 'file_put.bat'.

Veiksmīgi, ja 'put_files' saglabātie faili tiek pārnesti uz mapi '/tmp/'.

4. Citas bieži lietojamas komandas

Mēs esam iepazīstinājuši ar pamata lejupielādēšanu un augšupielādi, taču vēlamies aprakstīt arī citas komandas, kuras var bieži izmantot.

4-1. atslēgas autentifikācija

Iepriekš jūs pieteicāties, izmantojot paroles autentifikāciju saskaņā ar šādu aprakstu.

open test:testpassword@192.168.50.10

'open username:password@IP adrese'. Atslēgas autentifikācijai piemēro šādus noteikumus.

open test@192.168.50.10 -privatekey=id_rsa.ppk

'-privatekey=id_rsa.ppk' ir ceļš līdz atslēgai. Tā kā tas ir norādīts kā relatīvais ceļš, tiek pieņemts, ka atslēga (id_rsa.ppk) atrodas arī mapē, kurā atrodas izpildāmais fails (bat fails). Piemēram, ja atslēga atrodas tieši zem C diska, ierakstiet "-privatekey=C:\id_rsa.ppk".

4-2. Korpusa izsaukšana

Lai izsauktu čaulu, izmantojot komandu WinSCP, rakstiet šādi.

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

'test.sh' tiek izpildīts ar 'call sh /tmp/test.sh'. Ir iespējams nodot arī argumentus. Nododot argumentus, rakstiet tos kā "call sh /tmp/test.sh param1".

5. kopsavilkums

Komanda WinSCP ir aprakstīta.

Ja parasti izmantojat WinSCP GUI, lai katru dienu reģistrētu un augšupielādētu failus, varat to automatizēt, izveidojot šajā rakstā aprakstītos rīkus. Tas var būt nenozīmīgs uzdevums, taču tas var aizņemt daudz laika, izņemot, ja tas tiek darīts katru dienu. Mēs aicinām jūs izveidot rīkus efektivitātes uzlabošanai.

Paldies, ka noskatījāties līdz beigām.