Ansible

Cum să descărcați fișiere utilizând modulul Ansible get_url

Cum să descărcați fișiere utilizând modulul Ansible get_url

Ca utilizator Linux, probabil că sunteți familiarizat cu instrumentele care vă permit să descărcați fișiere de pe servere la distanță folosind protocoale HTTP, HTTPS și FTP, cum ar fi wget și cURL. Când efectuați sarcini de automatizare, va trebui ocazional să descărcați fișiere și pachete pe gazde la distanță. În timp ce puteți utiliza wget și cURL pe gazdele de la distanță pentru a efectua această funcție, puteți, de asemenea, să ocoliți instalarea necesară pentru a utiliza aceste instrumente utilizând modulul Ansible get_url.

Acest tutorial vă arată cum să utilizați comanda Ansible get_url pentru a descărca fișiere de pe servere la distanță.

Înainte de a începe, comanda Ansible get_url necesită următoarele condiții prealabile:

  1. Serverul de la distanță de pe care urmează să fie descărcate fișierele trebuie să aibă acces direct la serverul gazdă.
  2. Serverul gazdă ar trebui să accepte atât protocoalele HTTP, cât și HTTPS.

Despre modulul get_url

Înainte de a afla cum să implementați modulul get_url, mai întâi, există câteva lucruri care merită înțelese despre acest modul. Modulul get_url acceptă următoarele caracteristici:

În continuare, vă vom arăta cum să utilizați modulul get_url pentru a descărca fișiere cu diverse protocoale și configurații.

Utilizarea modulului get_url pentru a obține fișiere

Următoarele sunt câteva exemple pe care le puteți implementa folosind modulul get_url atunci când descărcați fișiere de pe un server la distanță.

Descărcați fișiere de pe serverul HTTP / HTTPS cu adresă URL directă

Luați în considerare următoarea carte de joc care creează un director în ~ /.local și folosește modulul get_url pentru a descărca pachetul Debian MySQL.

NOTĂ: Puteți găsi pachete de servere MYSQL în resursa furnizată mai jos:

https: // linkfy.la / mysql-pachete

- gazde: toate
- nume: Descărcați serverul Debian MySQL utilizând HTTP / HTTPS
sarcini:
- nume: Creați directorul mysql-server în / home / utilizator /.local
fişier:
cale: ~ /.local / mysql-server
state: director
mod: 0777
- nume: GET pachete MySQL-server
get_url:
url: „https: // descărcări.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.gudron"
dest: ~ /.local / mysql-server
mod: 0777
suma de control: md5: 5568e206a187a3b658392520540f556e

Playbook-ul de mai sus începe prin crearea unui director în $ HOME /.local / mysql-server, unde ar trebui stocat pachetul descărcat. Dacă creați un director într-un director privilegiat, nu uitați să utilizați directiva „devenire”.

Apoi, playbook-ul apelează modulul get_url și specifică adresa URL de la care să descărcați pachetul, urmat de directorul de destinație în care să stocați fișierul. Secțiunea finală a manualului specifică suma de control md5 pentru a verifica validitatea fișierului.

NOTĂ: În manualul de mai sus, am codificat hard suma de verificare, dar puteți specifica adresa URL la care este găzduită suma de verificare.

După ce rulați playbook-ul, veți obține o ieșire care indică succesul sau eșecul sarcinilor.

$ ansible-playbook download_mysql_server.yml PLAY [Descărcați serverul Debian MySQL folosind HTTP / HTTPS] ************************************* *************************************************** *************************************************** ******************
TASK [Adunarea faptelor] ********************************************** *************************************************** *************************************************** ******************************************
ok: [35.222.210.12]
TASK [Creați directorul mysql-server în / home / user /.local] ************************************************* *************************************************** *************************************************** ***********
35.222.210.12: ok = 3 modificat = 1 inaccesibil = 0 eșuat = 0 omis = 0 salvat = 0 ignorat = 0

După finalizarea procesului, vă puteți conecta la gazdă și puteți verifica dacă fișierul există.

Descărcați fișiere cu suma de verificare sha256

De asemenea, puteți descărca fișiere și le puteți verifica folosind suma de verificare sha256, așa cum se arată în exemplul de joc de mai jos:

- gazde: toate
- nume: Descărcați serverul Debian MySQL utilizând HTTP / HTTPS
sarcini:
- nume: Creați directorul mysql-server în / home / utilizator /.local
fişier:
cale: ~ /.local / mysql-server
state: director
mod: 0777
- nume: GET pachete MySQL-server
get_url:
url: https: // descărcări.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.gudron
dest: ~ /.local / mysql-server
mod: 0777
checksum: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c

Pentru a utiliza o adresă URL în loc să codificați suma de verificare, luați în considerare următorul exemplu:

- gazde: toate
- nume: Descărcați serverul Debian MySQL utilizând HTTP / HTTPS
sarcini:
- nume: Creați directorul mysql-server în / home / utilizator /.local
fişier:
cale: ~ /.local / mysql-server
state: director
mod: 0777
- nume: GET pachete MySQL-server
get_url:
url: https: // descărcări.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.gudron
dest: ~ /.local / mysql-server
mod: 0777
checksum: sha256: https: // downloads.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.gudron.sha265

Descărcați fișierele cu expirare dacă nu răspundeți

În unele cazuri, este posibil să aveți o adresă URL de resursă specificată, care poate dura mai mult timp pentru a răspunde sau nu este disponibilă. Acest lucru poate face ca conexiunea să se închidă înainte ca serverul să răspundă, deoarece expirarea implicită este de obicei de 10 secunde. Pentru a specifica în mod explicit valoarea de expirare, utilizați expirarea: directivă.

Luați în considerare următorul manual:

- gazde: toate
- nume: Descărcați serverul Debian MySQL cu timeout
sarcini:
- nume: Creați directorul mysql-server în / home / utilizator /.local
fişier:
cale: ~ /.local / mysql-server
state: director
mod: 0777
- nume: GET pachete MySQL-server
get_url:
url: https: // descărcări.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.gudron
dest: ~ /.local / mysql-server
mod: 0777
checksum: sha256: https: // downloads.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-bundle.gudron.sha265
timeout: 30

Playbook-ul de mai sus specifică expirarea ca 30 de secunde, iar conexiunea va fi întreruptă dacă serverul nu răspunde în timpul stabilit.

Descărcați fișiere cu autentificare

Pentru a descărca un fișier pe un server care necesită autentificare, va trebui să specificați valorile de autentificare.

Luați în considerare următorul manual:

- gazde: toate
- nume: Descărcați fișierul cu autentificare
devenit: da
get_url:
url: http: // 102.15.192.120 / backup-uri / bază de date.gudron.gz
dest: / backup-uri
nume de utilizator: utilizator
parola: 'pass'
mod: 0777
expirare: 5

Descărcați fișiere din calea fișierului local

Pentru a descărca un fișier dintr-o cale de fișier locală, puteți utiliza fișierul: // schema URI, urmată de calea către fișier.

Luați în considerare următorul manual:

- gazde: servere web
- nume: Descărcați fișierul din calea fișierului local
devenit: da
get_url:
url: file: /// backups / secure / config.gudron.gz
dest: / dev / null

Descărcați fișiere FTP

Descărcarea fișierelor FTP este foarte similară cu procesul descris în secțiunea anterioară. Tot ce trebuie să faceți este să specificați ftp: // ca protocol către server.

Pentru a descărca un fișier securizat, trebuie să adăugați și informațiile de conectare, așa cum se arată anterior.

Luați în considerare următorul manual:

- gazde: toate
sarcini:
- nume: Descărcați fișierul de pe serverul FTP
devenit: da
get_url:
url: ftp: // 192.168.11.101
dest: / backup-uri
mod: 0777

Opțiuni modul Ansible get_url

Modulul get_url acceptă, de asemenea, diverse opțiuni pe care le puteți utiliza pentru a specifica și monitoriza descărcarea și gestionarea fișierelor. Opțiunile disponibile cu modulul get_url includ următoarele:

Concluzie

Acest articol a discutat în detaliu modulul get_url în Ansible și v-a arătat cum să utilizați acest modul pentru a descărca fișiere din diferite surse. Puteți utiliza acest articol pentru a face referire la cum să descărcați fișiere în Ansible utilizând modulul get_url.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...