Linux-käyttäjänä tunnet todennäköisesti työkalut, joiden avulla voit ladata tiedostoja etäpalvelimista HTTP-, HTTPS- ja FTP-protokollien avulla, kuten wget ja cURL. Kun suoritat automaatiotehtäviä, sinun on ajoittain ladattava tiedostoja ja paketteja etäisäntiin. Vaikka voit käyttää wget- ja cURL-tiedostoja etäisänissä tämän toiminnon suorittamiseen, voit myös ohittaa vaaditun asennuksen näiden työkalujen käyttämiseksi Ansible get_url -moduulin avulla.
Tässä opetusohjelmassa kerrotaan, kuinka Ansible get_url -komentoa käytetään tiedostojen lataamiseen etäpalvelimilta.
Ennen kuin aloitamme, Ansible get_url -komento edellyttää seuraavia edellytyksiä:
- Etäpalvelimella, josta tiedostot ladataan, tulisi olla suora pääsy isäntäpalvelimeen.
- Isäntäpalvelimen tulisi tukea sekä HTTP- että HTTPS-protokollia.
Tietoja get_url-moduulista
Ennen kuin opit get_url-moduulin toteuttamisesta, on ensin muutama asia, joka kannattaa ymmärtää tästä moduulista. Get_url-moduuli tukee seuraavia ominaisuuksia:
- Tarkistussumman lataus ja vahvistus palvelimelta
- HTTP-, HTTPS- ja FTP-palvelimet
- Välityspalvelimet, jotka
_ välityspalveludirektiivi - Aikakatkaisun asettaminen pyyntöjen saamiselle
- Verkkoindeksointi
- Verkon perusvaltuutus
Seuraavaksi näytämme sinulle, miten get_url-moduulia käytetään tiedostojen lataamiseen erilaisilla protokollilla ja kokoonpanoilla.
Get_url-moduulin käyttäminen tiedostojen hankkimiseen
Seuraavassa on joitain esimerkkejä, jotka voit toteuttaa get_url-moduulin avulla, kun lataat tiedostoja etäpalvelimelta.
Lataa tiedostot HTTP / HTTPS-palvelimelta suoralla URL-osoitteella
Harkitse seuraavaa soittokirjaa, joka luo hakemiston ~ /.paikallinen ja lataa Debian MySQL -paketin get_url-moduulin avulla.
MERKINTÄ: Löydät MYSQL-palvelinpaketit alla olevasta resurssista:
https: // linkfy./ mysql-paketteihin
- isännät: kaikki- nimi: Lataa Debian MySQL -palvelin HTTP / HTTPS: n avulla
tehtävät:
- nimi: Tee hakemistosta mysql-server hakemistossa / home / user /.paikallinen
tiedosto:
polku: ~ /.paikallinen / mysql-palvelin
tila: hakemisto
tila: 0777
- nimi: GET MySQL-palvelinpaketit
get_url:
url: “https: // lataa.mysql.fi / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-nippu.terva ”
kohde: ~ /.paikallinen / mysql-palvelin
tila: 0777
tarkistussumma: md5: 5568e206a187a3b658392520540f556e
Yllä oleva soittokirja alkaa luomalla hakemisto kansioon $ HOME /.local / mysql-server, johon ladattu paketti tulisi tallentaa. Jos luot hakemistoa etuoikeutettuun hakemistoon, muista käyttää 'tulla' -direktiiviä.
Seuraavaksi soittokirja kutsuu get_url-moduulin ja määrittää URL-osoitteen, josta paketti ladataan, ja sen jälkeen kohdehakemiston, johon tiedosto tallennetaan. Toistokirjan viimeisessä osassa määritetään md5-tarkistussumma tiedoston oikeellisuuden tarkistamiseksi.
MERKINTÄ: Yllä olevassa soittokirjassa koodasimme tarkistussumman, mutta voit määrittää URL-osoitteen, jolla tarkistussumma isännöidään.
Kun olet suorittanut pelikirjan, saat tuloksen, joka ilmaisee tehtävien onnistumisen tai epäonnistumisen.
$ ansible-playbook download_mysql_server.yml PLAY [Lataa Debian MySQL -palvelin HTTP / HTTPS: n avulla] **************************************** ******************************************** *************************************************** ******************TEHTÄVÄ [Tosiseikkojen kerääminen] ********************************************** *************************************************** *************************************************** ******************************************
ok: [35.222.210.12]
TASK [Tee hakemistosta mysql-palvelin hakemistosta / home / user /.paikallinen] ************************************* ******************************************** *************************************************** ***********
35.222.210.12: ok = 3 muutettu = 1 saavuttamaton = 0 epäonnistunut = 0 ohitettu = 0 pelastettu = 0 ohitettu = 0
Kun prosessi on valmis, voit kirjautua isäntään ja tarkistaa, onko tiedosto olemassa.
Lataa tiedostot sha256-tarkistussummalla
Voit myös ladata tiedostoja ja tarkistaa ne sha256-tarkistussumman avulla, kuten alla olevassa esimerkkikirjassa esitetään:
- isännät: kaikki- nimi: Lataa Debian MySQL -palvelin HTTP / HTTPS: n avulla
tehtävät:
- nimi: Tee hakemistosta mysql-server hakemistossa / home / user /.paikallinen
tiedosto:
polku: ~ /.paikallinen / mysql-palvelin
tila: hakemisto
tila: 0777
- nimi: GET MySQL-palvelinpaketit
get_url:
URL: https: // lataa.mysql.fi / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-nippu.terva
kohde: ~ /.paikallinen / mysql-palvelin
tila: 0777
tarkistussumma: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c
Harkitse seuraavaa esimerkkiä, jos haluat käyttää URL-osoitetta tarkistussumman kovakoodaamisen sijaan:
- isännät: kaikki- nimi: Lataa Debian MySQL -palvelin HTTP / HTTPS: n avulla
tehtävät:
- nimi: Tee hakemistosta mysql-server hakemistossa / home / user /.paikallinen
tiedosto:
polku: ~ /.paikallinen / mysql-palvelin
tila: hakemisto
tila: 0777
- nimi: GET MySQL-palvelinpaketit
get_url:
URL: https: // lataa.mysql.fi / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-nippu.terva
kohde: ~ /.paikallinen / mysql-palvelin
tila: 0777
tarkistussumma: sha256: https: // lataa.mysql.fi / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-nippu.terva.sha265
Lataa vastauksen laiminlyönnistä aikakatkaisun sisältäviä tiedostoja
Joissakin tapauksissa sinulla voi olla määritetty resurssin URL-osoite, johon vastaaminen voi kestää kauemmin tai jota ei ole saatavilla. Tämä voi aiheuttaa yhteyden sulkeutumisen ennen palvelimen vastausta, koska oletusaika on yleensä 10 sekuntia. Määritä aikakatkaisuarvo nimenomaisesti käyttämällä aikakatkaisua:
Harkitse seuraavaa pelikirjaa:
- isännät: kaikki- nimi: Lataa Debian MySQL -palvelin aikakatkaisulla
tehtävät:
- nimi: Tee hakemistosta mysql-server hakemistossa / home / user /.paikallinen
tiedosto:
polku: ~ /.paikallinen / mysql-palvelin
tila: hakemisto
tila: 0777
- nimi: GET MySQL-palvelinpaketit
get_url:
URL: https: // lataa.mysql.fi / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-nippu.terva
kohde: ~ /.paikallinen / mysql-palvelin
tila: 0777
tarkistussumma: sha256: https: // lataa.mysql.fi / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-nippu.terva.sha265
aikakatkaisu: 30
Yllä olevassa soittokirjassa määritetään aikakatkaisuksi 30 sekuntia, ja yhteys katkeaa, jos palvelin ei vastaa asetetussa ajassa.
Lataa tiedostot todennuksella
Jos haluat ladata tiedoston todennusta vaativaan palvelimeen, sinun on määritettävä kirjautumisarvot.
Harkitse seuraavaa pelikirjaa:
- isännät: kaikki- nimi: Lataa tiedosto todennuksella
tullut: kyllä
get_url:
URL: http: // 102.15.192.120 / varmuuskopiot / tietokanta.terva.gz
dest: / varmuuskopiot
käyttäjänimi: käyttäjä
salasana: pass
tila: 0777
aikakatkaisu: 5
Lataa tiedostot paikallisesta tiedostopolusta
Voit ladata tiedoston paikallisesta tiedostopolusta käyttämällä tiedostoa: // URI-malli, jota seuraa tiedoston polku.
Harkitse seuraavaa pelikirjaa:
- hosts: verkkopalvelimet- nimi: Lataa tiedosto paikallisesta tiedostopolusta
tullut: kyllä
get_url:
url: tiedosto: /// varmuuskopiot / suojattu / määritys.terva.gz
dest: / dev / null
Lataa FTP-tiedostot
FTP-tiedostojen lataaminen on hyvin samanlainen kuin edellisessä osassa kuvattu prosessi. Sinun tarvitsee vain määrittää ftp: // palvelimen protokollaksi.
Jos haluat ladata suojatun tiedoston, sinun on myös lisättävä kirjautumistiedot, kuten aiemmin on esitetty.
Harkitse seuraavaa pelikirjaa:
- isännät: kaikkitehtävät:
- nimi: Lataa tiedosto FTP-palvelimelta
tullut: kyllä
get_url:
URL: ftp: // 192.168.11.101
dest: / varmuuskopiot
tila: 0777
Ansible get_url -moduulin asetukset
Get_url-moduuli tukee myös useita vaihtoehtoja, joiden avulla voit määrittää ja valvoa tiedostojen lataamista ja hallintaa. Get_url-moduulin käytettävissä olevat vaihtoehdot sisältävät seuraavat:
- Varmuuskopioida: Varmuuskopiointivaihtoehto, kyllä ja ei-looginen, antaa sinun määrittää, luodaanko varmuuskopio ladattavasta tiedostosta.
- Ryhmä: Ryhmäasetus määrittää ryhmän, jolla on ladatun tiedoston omistajuus; tämä vaihtoehto on kuin Unixin chown-komento.
- Otsikot: Otsikot-asetusta käytetään määrittämään mukautetut HTTP-otsikot sanastossa hajautusmuodossa.
- http_agent: Http_agent-vaihtoehto määrittää HTTP-agentin.
- Omistaja: Omistaja-vaihtoehto määrittää ladattavien tiedostojen omistajan.
- Seuser: Seuser-asetus asettaa käyttäjän SELinux-tiedostokontekstiin.
- use_proxy: Use_proxy-asetus määrittää, käytetäänkö välityspalvelinta. Jos tämän asetuksen arvoksi on asetettu epätosi, kaikki välityspalvelimet jätetään huomioimatta, vaikka sinulla olisikin määritetty kohde-isännässä.
Johtopäätös
Tässä artikkelissa keskusteltiin yksityiskohtaisesti get_url-moduulista Ansible-ohjelmassa ja näytettiin, kuinka tämän moduulin avulla voit ladata tiedostoja eri lähteistä. Tämän artikkelin avulla voit viitata tiedostojen lataamiseen Ansible-sovellukseen get_url-moduulin avulla.