Možné

Jak stahovat soubory pomocí modulu Ansible get_url

Jak stahovat soubory pomocí modulu Ansible get_url

Jako uživatel systému Linux jste pravděpodobně obeznámeni s nástroji, které vám umožňují stahovat soubory ze vzdálených serverů pomocí protokolů HTTP, HTTPS a FTP, například wget a cURL. Při provádění automatizačních úloh budete občas muset stáhnout soubory a balíčky na vzdálené hostitele. I když k provedení této funkce můžete na vzdálených hostitelích použít wget a cURL, můžete také obejít požadovanou instalaci pro použití těchto nástrojů pomocí modulu Ansible get_url.

V tomto kurzu se dozvíte, jak pomocí příkazu Ansible get_url stahovat soubory ze vzdálených serverů.

Než začneme, vyžaduje příkaz Ansible get_url následující předpoklady:

  1. Vzdálený server, ze kterého se mají soubory stáhnout, by měl mít přímý přístup k hostitelskému serveru.
  2. Hostitelský server by měl podporovat protokoly HTTP i HTTPS.

O modulu get_url

Než se dozvíte, jak implementovat modul get_url, nejprve je o tomto modulu několik věcí, které stojí za pochopení. Modul get_url podporuje následující funkce:

Dále vám ukážeme, jak používat modul get_url ke stahování souborů s různými protokoly a konfiguracemi.

Používání modulu get_url k získávání souborů

Následuje několik příkladů, které můžete implementovat pomocí modulu get_url při stahování souborů ze vzdáleného serveru.

Stahujte soubory ze serveru HTTP / HTTPS s přímou adresou URL

Zvažte následující příručku, která vytváří adresář v ~ /.local a ke stažení balíčku MySQL Debianu používá modul get_url.

POZNÁMKA: Balíčky serverů MYSQL najdete v níže uvedeném zdroji:

https: // linkfy.do / mysql-balíčků

- hostitelé: všichni
- name: Stáhněte si server Debian MySQL pomocí HTTP / HTTPS
úkoly:
- name: Vytvořte adresář mysql-server v / home / user /.místní
soubor:
cesta: ~ /.místní / mysql-server
stát: adresář
režim: 0777
- name: ZÍSKEJTE balíčky serveru MySQL
get_url:
url: „https: // stahování.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.dehet"
cíl: ~ /.místní / mysql-server
režim: 0777
kontrolní součet: md5: 5568e206a187a3b658392520540f556e

Výše uvedená příručka začíná vytvořením adresáře v $ HOME /.local / mysql-server, kde by měl být stažený balíček uložen. Pokud vytváříte adresář v privilegovaném adresáři, nezapomeňte použít direktivu 'become'.

Dále hrací kniha volá modul get_url a určuje adresu URL, ze které se má balíček stáhnout, následovaný cílovým adresářem, do kterého se má soubor uložit. Poslední část příručky určuje kontrolní součet md5 ke kontrole platnosti souboru.

POZNÁMKA: Ve výše uvedené příručce jsme kontrolní kód pevně zakódovali, ale můžete zadat adresu URL, na které je kontrolní součet hostován.

Po spuštění příručky získáte výstup označující úspěch nebo neúspěch úkolů.

$ ansible-playbook download_mysql_server.yml PLAY [Stáhnout server Debian MySQL pomocí HTTP / HTTPS] *************************************** ********************************* * ********************************* * *******************
ÚLOHA [Shromáždění faktů] ******************************************** ********************************* * ********************************* * **********************************
ok: [35.222.210.12]
ÚLOHA [Vytvořit adresář mysql-server v / home / user /.místní] ********************************************** ********************************* * ************************************************ ***********
35.222.210.12: ok = 3 změněno = 1 nedosažitelný = 0 selhal = 0 přeskočen = 0 zachráněn = 0 ignorován = 0

Po dokončení procesu se můžete přihlásit k hostiteli a ověřit, zda soubor existuje.

Stahujte soubory s kontrolním součtem sha256

Můžete také stáhnout soubory a ověřit je pomocí kontrolního součtu sha256, jak je ukázáno v níže uvedeném příkladu příručky:

- hostitelé: všichni
- name: Stáhněte si server Debian MySQL pomocí HTTP / HTTPS
úkoly:
- name: Vytvořte adresář mysql-server v / home / user /.místní
soubor:
cesta: ~ /.místní / mysql-server
stát: adresář
režim: 0777
- name: ZÍSKEJTE balíčky serveru MySQL
get_url:
url: https: // stahování.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.dehet
cíl: ~ /.místní / mysql-server
režim: 0777
kontrolní součet: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c

Chcete-li místo pevného kódování kontrolního součtu použít adresu URL, zvažte následující příklad:

- hostitelé: všichni
- name: Stáhněte si server Debian MySQL pomocí HTTP / HTTPS
úkoly:
- name: Vytvořte adresář mysql-server v / home / user /.místní
soubor:
cesta: ~ /.místní / mysql-server
stát: adresář
režim: 0777
- name: ZÍSKEJTE balíčky serveru MySQL
get_url:
url: https: // stahování.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.dehet
cíl: ~ /.místní / mysql-server
režim: 0777
kontrolní součet: sha256: https: // stahování.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.dehet.sha265

Stahujte soubory s vypršením časového limitu při nereagování

V některých případech můžete mít zadanou adresu URL prostředku, jejíž odpověď může trvat déle nebo není k dispozici. To může způsobit ukončení připojení, než server odpoví, protože výchozí časový limit je obvykle 10 sekund. Chcete-li explicitně zadat hodnotu časového limitu, použijte časový limit: směrnice.

Zvažte následující příručku:

- hostitelé: všichni
- name: Stáhnout server Debian MySQL s časovým limitem
úkoly:
- name: Vytvořte adresář mysql-server v / home / user /.místní
soubor:
cesta: ~ /.místní / mysql-server
stát: adresář
režim: 0777
- name: ZÍSKEJTE balíčky serveru MySQL
get_url:
url: https: // stahování.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.dehet
cíl: ~ /.místní / mysql-server
režim: 0777
kontrolní součet: sha256: https: // stahování.mysql.com / archive / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.dehet.sha265
časový limit: 30

Výše uvedená příručka určuje časový limit 30 sekund a připojení bude zrušeno, pokud server neodpoví ve stanoveném čase.

Stahujte soubory s ověřením

Chcete-li stáhnout soubor na server, který vyžaduje ověření, budete muset zadat přihlašovací hodnoty.

Zvažte následující příručku:

- hostitelé: všichni
- name: Stáhnout soubor s ověřením
stát se: ano
get_url:
url: http: // 102.15.192.120 / zálohy / databáze.dehet.gz
cíl: / zálohy
uživatelské jméno: uživatel
heslo: 'pass'
režim: 0777
časový limit: 5

Stahujte soubory z místní cesty souborů

Chcete-li stáhnout soubor z místní cesty k souboru, můžete použít schéma souboru: // URI, následované cestou k souboru.

Zvažte následující příručku:

- hostitelé: webové servery
- name: Stáhnout soubor z cesty k místnímu souboru
stát se: ano
get_url:
url: file: /// backups / secure / config.dehet.gz
dest: / dev / null

Stahujte soubory FTP

Stahování souborů FTP je velmi podobné procesu popsanému v předchozí části. Vše, co musíte udělat, je zadat ftp: // jako protokol k serveru.

Chcete-li stáhnout zabezpečený soubor, musíte také přidat přihlašovací údaje, jak je uvedeno výše.

Zvažte následující příručku:

- hostitelé: všichni
úkoly:
- name: Stáhnout soubor ze serveru FTP
stát se: ano
get_url:
url: ftp: // 192.168.11.101
cíl: / zálohy
režim: 0777

Možné možnosti modulu get_url

Modul get_url také podporuje různé možnosti, které můžete použít k určení a sledování stahování a správy souborů. Možnosti dostupné v modulu get_url zahrnují následující:

Závěr

Tento článek podrobně popsal modul get_url v Ansible a ukázal vám, jak pomocí tohoto modulu stahovat soubory z různých zdrojů. Tento článek můžete použít k odkazu, jak stahovat soubory v Ansible pomocí modulu get_url.

Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...
Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...
Hry Top 10 her k hraní na Ubuntu
Top 10 her k hraní na Ubuntu
Platforma Windows byla jednou z dominujících platforem pro hraní her kvůli velkému procentu her, které se dnes vyvíjejí, aby nativně podporovaly Windo...