Odgovorno

Kako preuzeti datoteke pomoću modula Ansible get_url

Kako preuzeti datoteke pomoću modula Ansible get_url

Kao korisnik Linuxa vjerojatno ste upoznati s alatima koji vam omogućuju preuzimanje datoteka s udaljenih poslužitelja pomoću HTTP, HTTPS i FTP protokola, kao što su wget i cURL. Tijekom izvođenja zadataka automatizacije, povremeno ćete trebati preuzeti datoteke i pakete na udaljene hostove. Iako za izvršavanje ove funkcije možete koristiti wget i cURL na udaljenim hostovima, također možete zaobići potrebnu instalaciju da biste koristili ove alate pomoću modula Ansible get_url.

Ovaj vam vodič pokazuje kako koristiti naredbu Ansible get_url za preuzimanje datoteka s udaljenih poslužitelja.

Prije nego započnemo, naredba Ansible get_url zahtijeva sljedeće preduvjete:

  1. Udaljeni poslužitelj s kojeg se datoteke trebaju preuzeti trebaju imati izravan pristup poslužitelju domaćina.
  2. Host poslužitelj trebao bi podržavati i HTTP i HTTPS protokole.

O modulu get_url

Prije nego što naučite kako implementirati modul get_url, prvo postoji nekoliko stvari koje vrijedi razumjeti u vezi s ovim modulom. Modul get_url podržava sljedeće značajke:

Zatim ćemo vam pokazati kako koristiti modul get_url za preuzimanje datoteka s različitim protokolima i konfiguracijama.

Korištenje modula get_url za dobivanje datoteka

Slijedi nekoliko primjera koje možete implementirati pomoću modula get_url prilikom preuzimanja datoteka s udaljenog poslužitelja.

Preuzmite datoteke s HTTP / HTTPS poslužitelja s izravnim URL-om

Razmotrite sljedeću knjigu priručnika koja stvara direktorij u ~ /.local i koristi modul get_url za preuzimanje Debian MySQL paketa.

BILJEŠKA: Pakete MYSQL poslužitelja možete pronaći u dolje navedenom resursu:

https: // linkfy.u / mysql-pakete

- domaćini: svi
- ime: Preuzmite Debian MySQL poslužitelj koristeći HTTP / HTTPS
zadaci:
- ime: Napravite direktorij mysql-server u / home / user /.lokalno
datoteka:
put: ~ /.lokalni / mysql-poslužitelj
stanje: direktorij
način rada: 0777
- ime: GET MySQL-poslužiteljski paketi
get_url:
url: “https: // preuzimanja.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-snop.katran"
dest: ~ /.lokalni / mysql-poslužitelj
način rada: 0777
kontrolna suma: md5: 5568e206a187a3b658392520540f556e

Gornja knjiga priručnika započinje stvaranjem direktorija u $ HOME /.lokalni / mysql-poslužitelj, na kojem treba preuzeti pohranjeni paket. Ako kreirate direktorij u privilegiranom direktoriju, ne zaboravite upotrijebiti direktivu 'postati'.

Dalje, knjiga priručnika poziva modul get_url i navodi URL s kojeg će se preuzeti paket, nakon čega slijedi odredišni direktorij u koji će se datoteka pohraniti. Završni odjeljak priručnika navodi md5 kontrolnu sumu za provjeru valjanosti datoteke.

BILJEŠKA: U gornjoj knjizi priručnika čvrsto smo kodirali kontrolnu sumu, ali možete odrediti URL na kojem se nalazi kontrolna suma.

Nakon pokretanja knjige priručnika dobit ćete izlaz koji pokazuje uspjeh ili neuspjeh zadataka.

$ ansible-playbook download_mysql_server.yml PLAY [Preuzmi Debian MySQL poslužitelj koristeći HTTP / HTTPS] ************************************** **************************************************** **************************************************** ******************
ZADATAK [Prikupljanje činjenica] *********************************************** **************************************************** **************************************************** *****************************************
u redu: [35.222.210.12]
ZADATAK [Napravite direktorij mysql-server u / home / user /.lokalni] ************************************************** **************************************************** **************************************************** ***********
35.222.210.12: ok = 3 promijenjeno = 1 nedostižno = 0 nije uspjelo = 0 preskočeno = 0 spašeno = 0 zanemareno = 0

Nakon što je postupak završen, možete se prijaviti na host i provjeriti postoji li datoteka.

Preuzmite datoteke s kontrolnom sumom sha256

Također možete preuzeti datoteke i provjeriti ih pomoću kontrolne sume sha256, kao što je prikazano u primjeru priručnika u nastavku:

- domaćini: svi
- ime: Preuzmite Debian MySQL poslužitelj koristeći HTTP / HTTPS
zadaci:
- ime: Napravite direktorij mysql-server u / home / user /.lokalno
datoteka:
put: ~ /.lokalni / mysql-poslužitelj
stanje: direktorij
način rada: 0777
- naziv: GET MySQL-poslužiteljski paketi
get_url:
url: https: // preuzimanja.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-snop.katran
dest: ~ /.lokalni / mysql-poslužitelj
način rada: 0777
kontrolna suma: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c

Da biste koristili URL umjesto tvrdog kodiranja kontrolne sume, razmotrite sljedeći primjer:

- domaćini: svi
- ime: Preuzmite Debian MySQL poslužitelj koristeći HTTP / HTTPS
zadaci:
- ime: Napravite direktorij mysql-server u / home / user /.lokalno
datoteka:
put: ~ /.lokalni / mysql-poslužitelj
stanje: direktorij
način rada: 0777
- ime: GET MySQL-poslužiteljski paketi
get_url:
url: https: // preuzimanja.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-snop.katran
dest: ~ /.lokalni / mysql-poslužitelj
način rada: 0777
kontrolna suma: sha256: https: // preuzimanja.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-snop.katran.sha265

Preuzmite datoteke s vremenskim ograničenjem ako niste odgovorili

U nekim slučajevima možda imate navedeni URL resursa na koji može trebati više vremena da odgovori ili je nedostupan. To može dovesti do zatvaranja veze prije nego što poslužitelj odgovori, jer je zadano vremensko ograničenje obično 10 sekundi. Da biste eksplicitno odredili vrijednost vremenskog ograničenja, upotrijebite vremensko ograničenje: direktiva.

Razmotrite sljedeću knjigu priručnika:

- domaćini: svi
- ime: Preuzmite Debian MySQL poslužitelj s vremenskim ograničenjem
zadaci:
- ime: Napravite direktorij mysql-server u / home / user /.lokalno
datoteka:
put: ~ /.lokalni / mysql-poslužitelj
stanje: direktorij
način rada: 0777
- ime: GET MySQL-poslužiteljski paketi
get_url:
url: https: // preuzimanja.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-snop.katran
dest: ~ /.lokalni / mysql-poslužitelj
način rada: 0777
kontrolna suma: sha256: https: // preuzimanja.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-snop.katran.sha265
timeout: 30

Gornja knjiga priručnika navodi vremensko ograničenje na 30 sekundi i veza će se prekinuti ako poslužitelj ne odgovori u zadanom vremenu.

Preuzmite datoteke s autentifikacijom

Da biste datoteku preuzeli na poslužitelj koji zahtijeva provjeru autentičnosti, morat ćete navesti vrijednosti za prijavu.

Razmotrite sljedeću knjigu priručnika:

- domaćini: svi
- ime: Preuzmi datoteku s autentifikacijom
postati: da
get_url:
url: http: // 102.15.192.120 / sigurnosne kopije / baza podataka.katran.gz
dest: / sigurnosne kopije
korisničko ime: korisnik
lozinka: 'pass'
način rada: 0777
vremensko ograničenje: 5

Preuzmite datoteke s lokalnog puta datoteke

Da biste datoteku preuzeli s lokalne staze datoteke, možete upotrijebiti shemu file: // URI, a zatim stazu do datoteke.

Razmotrite sljedeću knjigu priručnika:

- domaćini: web poslužitelji
- ime: Preuzmite datoteku s lokalne staze datoteke
postati: da
get_url:
url: file: /// sigurnosne kopije / sigurno / konfiguracija.katran.gz
dest: / dev / null

Preuzmite FTP datoteke

Preuzimanje FTP datoteka vrlo je slično procesu opisanom u prethodnom odjeljku. Sve što trebate je odrediti ftp: // kao protokol poslužitelju.

Da biste preuzeli sigurnu datoteku, morate dodati i podatke za prijavu, kao što je prethodno prikazano.

Razmotrite sljedeću knjigu priručnika:

- domaćini: svi
zadaci:
- ime: Preuzmite datoteku s FTP poslužitelja
postati: da
get_url:
url: ftp: // 192.168.11.101
dest: / sigurnosne kopije
način rada: 0777

Odgovorne opcije modula get_url

Modul get_url također podržava razne opcije pomoću kojih možete odrediti i nadzirati preuzimanje i upravljanje datotekama. Opcije dostupne s modulom get_url uključuju sljedeće:

Zaključak

Ovaj je članak detaljno raspravljao o modulu get_url u programu Ansible i pokazao vam kako ga koristiti za preuzimanje datoteka iz različitih izvora. U ovom se članku možete uputiti kako preuzeti datoteke u programu Ansible pomoću modula get_url.

Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...