Kaip „Linux“ vartotojas tikriausiai esate susipažinęs su įrankiais, leidžiančiais atsisiųsti failus iš nuotolinių serverių naudojant HTTP, HTTPS ir FTP protokolus, pvz., „Wget“ ir „CURL“. Vykdydami automatizavimo užduotis, kartais turėsite atsisiųsti failus ir paketus į nuotolinius kompiuterius. Nors galite atlikti „wget“ ir „CURL“ nuotoliniuose pagrindiniuose kompiuteriuose, kad atliktumėte šią funkciją, taip pat galite apeiti reikalingą diegimą, kad galėtumėte naudoti šiuos įrankius naudodami „Ansible get_url“ modulį.
Šioje pamokoje parodoma, kaip naudoti komandą „Ansible get_url“ atsisiųsti failus iš nuotolinių serverių.
Prieš pradedant, komandai „Ansible get_url“ reikia šių sąlygų:
- Nuotolinis serveris, iš kurio reikia atsisiųsti failą (-us), turėtų turėti tiesioginę prieigą prie pagrindinio serverio.
- Prieglobos serveris turėtų palaikyti tiek HTTP, tiek HTTPS protokolus.
Apie „get_url“ modulį
Prieš sužinodami, kaip įdiegti „get_url“ modulį, pirmiausia reikia žinoti keletą dalykų apie šį modulį. „Get_url“ modulis palaiko šias funkcijas:
- Kontrolinė suma atsisiųsti ir patvirtinti iš serverio
- HTTP, HTTPS ir FTP serveriai
- Tarpiniai serveriai, kuriuos gali nurodyti
_proxy direktyva - Užklausų gavimo laiko nustatymas
- Interneto tikrinimas
- Pagrindinis žiniatinklio autorizavimas
Tada mes parodysime, kaip naudoti „get_url“ modulį norint atsisiųsti failus su įvairiais protokolais ir konfigūracijomis.
Failų gavimas naudojant „get_url“ modulį
Toliau pateikiami keli pavyzdžiai, kuriuos galite įdiegti naudodami „get_url“ modulį, kai atsisiunčiate failus iš nuotolinio serverio.
Atsisiųskite failus iš HTTP / HTTPS serverio su tiesioginiu URL
Apsvarstykite šį grojaraštį, kuris sukuria katalogą ~ /.vietinis ir naudoja „get_url“ modulį, kad atsisiųstų „Debian MySQL“ paketą.
PASTABA: MYSQL serverio paketus galite rasti toliau pateiktame šaltinyje:
https: // linkfy.į / mysql-paketus
- šeimininkai: visi- pavadinimas: Atsisiųskite „Debian MySQL“ serverį naudodami HTTP / HTTPS
užduotys:
- pavadinimas: Padarykite katalogą mysql-serverį aplanke / home / user /.vietinis
failas:
kelias: ~ /.vietinis / mysql-serveris
būsena: katalogas
režimas: 0777
- pavadinimas: GAUTI „MySQL“ serverio paketus
get_url:
URL: „https: // parsisiųsti.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-ryšulys.degutas “
pask: ~ /.vietinis / mysql-serveris
režimas: 0777
kontrolinė suma: md5: 5568e206a187a3b658392520540f556e
Pirmiau pateiktas grojaraštis pradedamas kuriant katalogą $ HOME /.local / mysql-server, kur turėtų būti saugomas atsisiųstas paketas. Jei kuriate katalogą privilegijuotame kataloge, nepamirškite naudoti „tapti“ direktyvos.
Tada grojaraštis iškviečia „get_url“ modulį ir nurodo URL, iš kurio norite atsisiųsti paketą, po kurio pateikiamas paskirties katalogas, į kurį norite išsaugoti failą. Paskutiniame pjesės skyriuje nurodoma md5 kontrolinė suma, skirta patikrinti failo galiojimą.
PASTABA: Pirmiau pateiktoje knygelėje mes sunkiai užkodavome kontrolinę sumą, tačiau galite nurodyti URL, kuriame yra kontrolinė suma.
Paleidę grojaraštį gausite išvestį, nurodančią užduočių sėkmę ar nesėkmę.
$ ansible-playbook download_mysql_server.yml PLAY [Atsisiųskite „Debian MySQL“ serverį naudodami HTTP / HTTPS] *************************************** *************************************************** *************************************************** ******************UŽDUOTIS [Faktų rinkimas] ********************************************** *************************************************** *************************************************** ****************************************
gerai: [35.222.210.12]
UŽDUOTIS [Padaryti katalogą mysql-serverį aplanke / home / user /.vietinis] ************************************************** *************************************************** *************************************************** ***********
35.222.210.12: ok = 3 pasikeitė = 1 nepasiekiama = 0 nepavyko = 0 praleista = 0 išgelbėta = 0 ignoruota = 0
Baigę procesą, galite prisijungti prie pagrindinio kompiuterio ir patikrinti, ar failas egzistuoja.
Atsisiųskite failus su „sha256“ kontroline suma
Taip pat galite atsisiųsti failus ir juos patikrinti naudodami kontrolinę sumą „sha256“, kaip parodyta žemiau esančiame grojaraščio pavyzdyje:
- šeimininkai: visi- pavadinimas: Atsisiųskite „Debian MySQL“ serverį naudodami HTTP / HTTPS
užduotys:
- pavadinimas: Padarykite katalogą mysql-serverį aplanke / home / user /.vietinis
failas:
kelias: ~ /.vietinis / mysql-serveris
būsena: katalogas
režimas: 0777
- pavadinimas: GAUTI „MySQL“ serverio paketus
get_url:
URL: https: // parsisiųsti.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-ryšulys.degutas
pask: ~ /.vietinis / mysql-serveris
režimas: 0777
kontrolinė suma: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c
Jei norite naudoti URL, o ne užkoduoti kontrolinę sumą, apsvarstykite šį pavyzdį:
- šeimininkai: visi- pavadinimas: Atsisiųskite „Debian MySQL“ serverį naudodami HTTP / HTTPS
užduotys:
- pavadinimas: Padarykite katalogą mysql-serverį aplanke / home / user /.vietinis
failas:
kelias: ~ /.vietinis / mysql-serveris
būsena: katalogas
režimas: 0777
- pavadinimas: GAUTI „MySQL“ serverio paketus
get_url:
URL: https: // parsisiųsti.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-ryšulys.degutas
pask: ~ /.vietinis / mysql-serveris
režimas: 0777
kontrolinė suma: sha256: https: // parsisiųsti.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-ryšulys.degutas.sha265
Atsisiųskite neatsakymo failus su skirtingu laiku
Kai kuriais atvejais gali būti nurodytas šaltinio URL, į kurį atsakyti gali užtrukti ilgiau, arba jis nepasiekiamas. Tai gali sukelti ryšio nutraukimą, kol serveris neatsako, nes numatytasis skirtasis laikas yra 10 sekundžių. Norėdami aiškiai nurodyti skirtojo laiko vertę, naudokite skirtąjį laiką:
Apsvarstykite šią pjesę:
- šeimininkai: visi- pavadinimas: Atsisiųskite „Debian MySQL“ serverį su skirtuoju laiku
užduotys:
- pavadinimas: Padarykite katalogą mysql-serverį aplanke / home / user /.vietinis
failas:
kelias: ~ /.vietinis / mysql-serveris
būsena: katalogas
režimas: 0777
- pavadinimas: GAUTI „MySQL“ serverio paketus
get_url:
URL: https: // parsisiųsti.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-ryšulys.degutas
pask: ~ /.vietinis / mysql-serveris
režimas: 0777
kontrolinė suma: sha256: https: // parsisiųsti.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-ryšulys.degutas.sha265
skirtasis laikas: 30
Pirmiau pateiktoje grojaraštyje nurodytas skirtasis laikas yra 30 sekundžių, o ryšys bus nutrauktas, jei serveris neatsakys per nustatytą laiką.
Atsisiųskite failus su autentifikavimu
Norėdami atsisiųsti failą į serverį, kuriam reikia autentifikavimo, turėsite nurodyti prisijungimo vertes.
Apsvarstykite šią pjesę:
- šeimininkai: visi- pavadinimas: Atsisiųskite failą su autentifikavimu
tapti: taip
get_url:
URL: http: // 102.15.192.120 / atsarginės kopijos / duomenų bazė.degutas.gz
dest: / atsarginės kopijos
vartotojo vardas: vartotojas
slaptažodis: „pass“
režimas: 0777
skirtasis laikas: 5
Atsisiųskite failus iš vietinio failų kelio
Norėdami atsisiųsti failą iš vietinio failo kelio, galite naudoti failo: // URI schemą, po kurios eina failo kelias.
Apsvarstykite šią pjesę:
- kompiuteriai: interneto serveriai- pavadinimas: atsisiųskite failą iš vietinio failo kelio
tapti: taip
get_url:
url: file: /// backups / secure / config.degutas.gz
dest: / dev / null
Atsisiųskite FTP failus
FTP failų atsisiuntimas yra labai panašus į procesą, aprašytą ankstesniame skyriuje. Viskas, ką jums reikia padaryti, tai nurodyti serverio protokolą ftp: //.
Norėdami atsisiųsti saugų failą, taip pat turite pridėti prisijungimo informaciją, kaip parodyta anksčiau.
Apsvarstykite šią pjesę:
- šeimininkai: visiužduotys:
- pavadinimas: atsisiųskite failą iš FTP serverio
tapti: taip
get_url:
URL: ftp: // 192.168.11.101
dest: / atsarginės kopijos
režimas: 0777
„Ansible get_url“ modulio parinktys
„Get_url“ modulis taip pat palaiko įvairias parinktis, kurias galite naudoti nurodydami ir stebėdami failų atsisiuntimą ir valdymą. „Get_url“ modulyje galimos šios parinktys:
- Atsarginė kopija: Atsarginės kopijos parinktis - „taip“ ir „ne“ loginė reikšmė leidžia nurodyti, ar sukurti atsarginę atsisiunčiamo failo kopiją.
- Grupė: Grupės parinktis nurodo grupę, kuriai priklauso atsisiųstas failas; ši parinktis yra panaši į „chown“ komandą „Unix“.
- Antraštės: Antraštės parinktis naudojama norint nurodyti pasirinktines HTTP antraštes žodyne maišos formatu.
- http_agent: Parinktis http_agent nurodo HTTP agentą.
- Savininkas: Savininko parinktis nurodo atsisiųstų failų savininką.
- Seuseris: Seuser parinktis nustato vartotoją SELinux failo kontekste.
- use_proxy: Use_proxy parinktis nustato, ar reikia naudoti tarpinį serverį. Jei ši parinktis nustatyta kaip „false“, visi tarpiniai serveriai bus ignoruojami, net jei turite jį nurodyti tiksliniame pagrindiniame kompiuteryje.
Išvada
Šiame straipsnyje išsamiai aptariamas modulis get_url skiltyje Ansible ir parodyta, kaip naudoti šį modulį norint atsisiųsti failus iš įvairių šaltinių. Šiame straipsnyje galite naudoti nuorodą, kaip atsisiųsti failus „Ansible“ naudojant „get_url“ modulį.