Odgovorno

Kako prenesti datoteke z modulom Ansible get_url

Kako prenesti datoteke z modulom Ansible get_url

Kot uporabnik Linuxa verjetno poznate orodja, ki omogočajo prenos datotek z oddaljenih strežnikov s protokoli HTTP, HTTPS in FTP, kot sta wget in cURL. Pri izvajanju nalog avtomatizacije boste morali občasno prenesti datoteke in pakete na oddaljene gostitelje. Čeprav lahko za izvajanje te funkcije uporabite wget in cURL na oddaljenih gostiteljih, lahko za uporabo teh orodij uporabite tudi modul Ansible get_url, ki je potreben za namestitev.

Ta vadnica vam pokaže, kako z ukazom Ansible get_url prenesete datoteke z oddaljenih strežnikov.

Preden začnemo, ukaz Ansible get_url zahteva naslednje predpogoje:

  1. Oddaljeni strežnik, s katerega je treba prenesti datoteke, mora imeti neposreden dostop do gostiteljskega strežnika.
  2. Gostiteljski strežnik mora podpirati protokola HTTP in HTTPS.

O modulu get_url

Preden se naučite, kako implementirati modul get_url, najprej o tem modulu nekaj stvari, ki jih je vredno razumeti. Modul get_url podpira naslednje funkcije:

Nato vam bomo pokazali, kako uporabljati modul get_url za prenos datotek z različnimi protokoli in konfiguracijami.

Uporaba modula get_url za pridobivanje datotek

Sledi nekaj primerov, ki jih lahko uporabite z uporabo modula get_url pri prenosu datotek z oddaljenega strežnika.

Prenesite datoteke s strežnika HTTP / HTTPS z neposrednim URL-jem

Razmislite o naslednjem priročniku, ki ustvari imenik v ~ /.local in uporablja modul get_url za prenos paketa Debian MySQL.

OPOMBA: Strežniške pakete MYSQL najdete v spodnjem viru:

https: // linkfy.v / mysql-pakete

- gostitelji: vsi
- ime: Prenesite strežnik Debian MySQL s pomočjo HTTP / HTTPS
naloge:
- ime: Naredite imenik mysql-server v / home / user /.lokalno
mapa:
pot: ~ /.lokalni / mysql-strežnik
stanje: imenik
način: 0777
- ime: GET MySQL-strežniški paketi
get_url:
url: “https: // prenosi.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-sveženj.katran "
dest: ~ /.lokalni / mysql-strežnik
način: 0777
kontrolna vsota: md5: 5568e206a187a3b658392520540f556e

Zgornja knjiga se začne z ustvarjanjem imenika v $ HOME /.lokalni / mysql-strežnik, kjer naj bo shranjen preneseni paket. Če ustvarjate imenik v privilegiranem imeniku, ne pozabite uporabiti direktive 'postati'.

Nato playbook pokliče modul get_url in določi URL, s katerega želite prenesti paket, čemur sledi ciljni imenik, v katerega želite shraniti datoteko. V zadnjem odseku knjižice je določena kontrolna vsota md5 za preverjanje veljavnosti datoteke.

OPOMBA: V zgornji knjigi iger smo trdo kodirali kontrolno vsoto, vendar lahko določite URL, na katerem gostuje kontrolna vsota.

Ko zaženete knjigo iger, boste dobili rezultat, ki kaže na uspeh ali neuspeh nalog.

$ ansible-playbook download_mysql_server.yml PLAY [Prenesite strežnik Debian MySQL z uporabo HTTP / HTTPS] ************************************** ************************************************** ************************************************** ******************
NALOGA [Zbiranje dejstev] *********************************************** **************************************************** ************************************************** *****************************************
ok: [35.222.210.12]
NALOGA [Naredi imenik mysql-server v / home / user /.lokalni] ************************************************** ************************************************** ************************************************** ***********
35.222.210.12: ok = 3 spremenjeno = 1 nedosegljivo = 0 neuspešno = 0 preskočeno = 0 rešeno = 0 prezrto = 0

Ko je postopek končan, se lahko prijavite v gostitelja in preverite, ali datoteka obstaja.

Prenesite datoteke s kontrolno vsoto sha256

Datoteke lahko tudi prenesete in jih preverite s kontrolno vsoto sha256, kot je prikazano v spodnjem primernem priročniku:

- gostitelji: vsi
- ime: Prenesite strežnik Debian MySQL s pomočjo HTTP / HTTPS
naloge:
- ime: Naredite imenik mysql-server v / home / user /.lokalno
mapa:
pot: ~ /.lokalni / mysql-strežnik
stanje: imenik
način: 0777
- ime: GET MySQL-strežniški paketi
get_url:
url: https: // prenosi.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-sveženj.katran
dest: ~ /.lokalni / mysql-strežnik
način: 0777
kontrolna vsota: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c

Če želite namesto trdega kodiranja kontrolne vsote uporabiti URL, si oglejte naslednji primer:

- gostitelji: vsi
- ime: Prenesite strežnik Debian MySQL s pomočjo HTTP / HTTPS
naloge:
- ime: Naredite imenik mysql-server v / home / user /.lokalno
mapa:
pot: ~ /.lokalni / mysql-strežnik
stanje: imenik
način: 0777
- ime: GET MySQL-strežniški paketi
get_url:
url: https: // prenosi.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-sveženj.katran
dest: ~ /.lokalni / mysql-strežnik
način: 0777
kontrolna vsota: sha256: https: // prenosi.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-sveženj.katran.sha265

Prenesite datoteke s časovno omejitvijo, če ne odgovorite

V nekaterih primerih imate morda določen URL vira, na katerega lahko traja dlje časa ali pa ni na voljo. To lahko povzroči prekinitev povezave, preden se strežnik odzove, saj je privzeta časovna omejitev običajno 10 sekund. Če želite izrecno določiti vrednost časovne omejitve, uporabite časovno omejitev: direktive.

Razmislite o naslednji knjigi iger:

- gostitelji: vsi
- ime: Prenesite strežnik Debian MySQL s časovno omejitvijo
naloge:
- ime: Naredite imenik mysql-server v / home / user /.lokalno
mapa:
pot: ~ /.lokalni / mysql-strežnik
stanje: imenik
način: 0777
- ime: GET MySQL-strežniški paketi
get_url:
url: https: // prenosi.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-sveženj.katran
dest: ~ /.lokalni / mysql-strežnik
način: 0777
kontrolna vsota: sha256: https: // prenosi.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-sveženj.katran.sha265
Časovna omejitev: 30

Zgornja knjiga navodil določa časovno omejitev 30 sekund in povezava bo prekinjena, če se strežnik ne odzove v nastavljenem času.

Prenesite datoteke z avtentikacijo

Če želite datoteko prenesti na strežnik, ki zahteva preverjanje pristnosti, boste morali določiti prijavne vrednosti.

Razmislite o naslednji knjigi iger:

- gostitelji: vsi
- ime: Prenesite datoteko z avtentikacijo
postati: da
get_url:
url: http: // 102.15.192.120 / varnostne kopije / baza podatkov.katran.gz
dest: / varnostne kopije
uporabniško ime: uporabnik
geslo: 'pass'
način: 0777
časovna omejitev: 5

Prenesite datoteke iz lokalne datoteke

Če želite datoteko prenesti iz lokalne datoteke, lahko uporabite shemo file: // URI, ki ji sledi pot do datoteke.

Upoštevajte naslednjo knjigo iger:

- gostitelji: spletni strežniki
- ime: Prenesite datoteko z lokalne datoteke
postati: da
get_url:
url: file: /// backups / secure / config.katran.gz
dest: / dev / null

Prenesite datoteke FTP

Prenos datotek FTP je zelo podoben postopku, opisanemu v prejšnjem razdelku. Vse kar morate storiti je, da kot protokol strežnika navedete ftp: //.

Če želite prenesti varno datoteko, morate dodati tudi prijavne podatke, kot je bilo prikazano prej.

Razmislite o naslednji knjigi iger:

- gostitelji: vsi
naloge:
- ime: Prenesite datoteko s strežnika FTP
postati: da
get_url:
url: ftp: // 192.168.11.101
dest: / varnostne kopije
način: 0777

Ansible get_url Možnosti modula

Modul get_url podpira tudi različne možnosti, s katerimi lahko določite in nadzirate prenos in upravljanje datotek. Možnosti, ki so na voljo v modulu get_url, vključujejo naslednje:

Zaključek

Ta članek je podrobno obravnaval modul get_url v programu Ansible in vam pokazal, kako uporabljati ta modul za prenos datotek iz različnih virov. V tem članku se lahko sklicujete na prenos datotek v programu Ansible z uporabo modula get_url.

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...