Možné

Ako sťahovať súbory pomocou modulu Ansible get_url

Ako sťahovať súbory pomocou modulu Ansible get_url

Ako používateľ systému Linux pravdepodobne poznáte nástroje, ktoré vám umožňujú sťahovať súbory zo vzdialených serverov pomocou protokolov HTTP, HTTPS a FTP, napríklad wget a cURL. Pri vykonávaní automatizačných úloh budete občas musieť sťahovať súbory a balíky na vzdialených hostiteľov. Aj keď na vykonanie tejto funkcie môžete na vzdialených hostiteľoch použiť wget a cURL, môžete tiež obísť požadovanú inštaláciu, aby ste mohli tieto nástroje používať, pomocou modulu Ansible get_url.

Tento výukový program vám ukáže, ako používať príkaz Ansible get_url na sťahovanie súborov zo vzdialených serverov.

Predtým, ako začneme, vyžaduje príkaz Ansible get_url nasledujúce predpoklady:

  1. Vzdialený server, z ktorého sa majú súbory stiahnuť, by mal mať priamy prístup k hostiteľskému serveru.
  2. Hostiteľský server by mal podporovať protokoly HTTP aj HTTPS.

O module get_url

Predtým, ako sa dozviete, ako implementovať modul get_url, je potrebné najskôr porozumieť tomuto modulu niekoľko vecí. Modul get_url podporuje nasledujúce funkcie:

Ďalej si ukážeme, ako používať modul get_url na sťahovanie súborov s rôznymi protokolmi a konfiguráciami.

Používanie modulu get_url na získanie súborov

Nasleduje niekoľko príkladov, ktoré môžete implementovať pomocou modulu get_url pri sťahovaní súborov zo vzdialeného servera.

Stiahnite si súbory zo servera HTTP / HTTPS s priamym URL

Zvážte nasledujúcu príručku, ktorá vytvára adresár v priečinku ~ /.lokálne a na stiahnutie balíka MySQL Debianu používa modul get_url.

POZNÁMKA: Balíky serverov MYSQL nájdete v zdroji uvedenom nižšie:

https: // linkfy.do / mysql-balíkov

- hostitelia: všetci
- názov: Stiahnite si server Debian MySQL pomocou protokolu HTTP / HTTPS
úlohy:
- name: Vytvorte adresár mysql-server v / home / user /.miestne
spis:
cesta: ~ /.lokálny / mysql-server
štát: adresár
režim: 0777
- názov: ZÍSKAJTE balíčky serverov MySQL
get_url:
url: „https: // súbory na stiahnutie.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.decht “
cieľ: ~ /.lokálny / mysql-server
režim: 0777
kontrolný súčet: md5: 5568e206a187a3b658392520540f556e

Vyššie uvedená príručka začína vytvorením adresára v $ HOME /.local / mysql-server, kam by sa mal uložiť stiahnutý balík. Ak vytvárate adresár v privilegovanom adresári, nezabudnite použiť smernicu „become“.

Ďalej príručka zavolá modul get_url a špecifikuje adresu URL, z ktorej sa má balík stiahnuť, nasledovaná cieľovým adresárom, do ktorého sa má súbor uložiť. Posledná časť príručky špecifikuje kontrolný súčet md5 na kontrolu platnosti súboru.

POZNÁMKA: Vo vyššie uvedenej príručke sme pevne zakontrolovali kontrolný súčet, môžete však určiť adresu URL, na ktorej je kontrolný súčet hostený.

Po spustení príručky získate výstup označujúci úspech alebo neúspech úloh.

$ ansible-playbook download_mysql_server.yml PLAY [Stiahnutie servera Debian MySQL pomocou HTTP / HTTPS] ************************************** *************************************************** *************************************************** *******************
ÚLOHA [Zhromažďovanie faktov] ******************************************* *************************************************** *********************************** ******************************************
ok: [35.222.210.12]
ÚLOHA [Vytvorte adresár mysql-server v / home / user /.miestne] ************************************************* *************************************************** *************************************************** ***********
35.222.210.12: ok = 3 zmenené = 1 nedosiahnuteľný = 0 zlyhal = 0 preskočený = 0 zachránený = 0 ignorovaný = 0

Po dokončení procesu sa môžete prihlásiť do hostiteľa a overiť, či súbor existuje.

Stiahnite si súbory s kontrolným súčtom sha256

Môžete tiež stiahnuť súbory a overiť ich pomocou kontrolného súčtu sha256, ako je uvedené v príklade príručky nižšie:

- hostitelia: všetci
- názov: Stiahnite si server Debian MySQL pomocou protokolu HTTP / HTTPS
úlohy:
- name: Vytvorte adresár mysql-server v / home / user /.miestne
spis:
cesta: ~ /.lokálny / mysql-server
štát: adresár
režim: 0777
- názov: ZÍSKAJTE balíčky serverov MySQL
get_url:
url: https: // súbory na stiahnutie.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.decht
cieľ: ~ /.lokálny / mysql-server
režim: 0777
kontrolný súčet: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c

Ak chcete namiesto pevne zadaného kontrolného súčtu použiť adresu URL, zvážte nasledujúci príklad:

- hostitelia: všetci
- názov: Stiahnite si server Debian MySQL pomocou protokolu HTTP / HTTPS
úlohy:
- name: Vytvorte adresár mysql-server v / home / user /.miestne
spis:
cesta: ~ /.lokálny / mysql-server
štát: adresár
režim: 0777
- názov: ZÍSKAJTE balíčky serverov MySQL
get_url:
url: https: // súbory na stiahnutie.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.decht
cieľ: ~ /.lokálny / mysql-server
režim: 0777
kontrolný súčet: sha256: https: // súbory na stiahnutie.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.decht.sha265

Súbory sťahujte s časovým limitom, keď nebudete môcť odpovedať

V niektorých prípadoch môžete mať zadanú adresu URL zdroja, ktorej odpoveď môže trvať dlhšie alebo je nedostupná. Môže to spôsobiť ukončenie pripojenia skôr, ako server odpovie, pretože predvolený časový limit je zvyčajne 10 sekúnd. Ak chcete explicitne určiť hodnotu časového limitu, použite časový limit: smernice.

Zvážte nasledujúcu príručku:

- hostitelia: všetci
- name: Stiahnite si server Debian MySQL s časovým limitom
úlohy:
- name: Vytvorte adresár mysql-server v / home / user /.miestne
spis:
cesta: ~ /.lokálny / mysql-server
štát: adresár
režim: 0777
- názov: ZÍSKAJTE balíčky serverov MySQL
get_url:
url: https: // súbory na stiahnutie.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.decht
cieľ: ~ /.lokálny / mysql-server
režim: 0777
kontrolný súčet: sha256: https: // súbory na stiahnutie.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.decht.sha265
časový limit: 30

Vyššie uvedená príručka určuje časový limit ako 30 sekúnd. Ak server neodpovie v nastavenom čase, pripojenie sa preruší.

Stiahnite si súbory s autentifikáciou

Ak chcete stiahnuť súbor na server, ktorý vyžaduje autentifikáciu, budete musieť určiť prihlasovacie hodnoty.

Zvážte nasledujúcu príručku:

- hostitelia: všetci
- name: Stiahnutie súboru s autentifikáciou
stať sa: áno
get_url:
adresa URL: http: // 102.15.192.120 / zálohy / databáza.decht.gz
cieľ: / zálohy
používateľské meno: užívateľ
heslo: 'pass'
režim: 0777
časový limit: 5

Stiahnite si súbory z cesty k miestnym súborom

Na stiahnutie súboru z cesty k miestnemu súboru môžete použiť schému súboru: // URI, za ktorou nasleduje cesta k súboru.

Zvážte nasledujúcu príručku:

- hostitelia: webové servery
- name: Stiahnutie súboru z cesty k miestnemu súboru
stať sa: áno
get_url:
url: file: /// backups / secure / config.decht.gz
cieľ: / dev / null

Stiahnite si súbory FTP

Sťahovanie súborov FTP je veľmi podobné procesu opísanému v predchádzajúcej časti. Všetko, čo musíte urobiť, je určiť ftp: // ako protokol na server.

Ak chcete prevziať zabezpečený súbor, musíte tiež pridať prihlasovacie informácie, ako je to uvedené vyššie.

Zvážte nasledujúcu príručku:

- hostitelia: všetci
úlohy:
- name: Stiahnutie súboru zo servera FTP
stať sa: áno
get_url:
url: ftp: // 192.168.11.101
cieľ: / zálohy
režim: 0777

Možné možnosti modulu get_url

Modul get_url tiež podporuje rôzne možnosti, ktoré môžete použiť na určenie a sledovanie sťahovania a správy súborov. Možnosti dostupné v module get_url zahŕňajú:

Záver

Tento článok podrobne rozoberal modul get_url v aplikácii Ansible a ukázal vám, ako používať tento modul na sťahovanie súborov z rôznych zdrojov. V tomto článku môžete uviesť, ako sťahovať súbory v priečinku Ansible pomocou modulu get_url.

Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...