Kā Linux lietotājs, iespējams, esat iepazinies ar rīkiem, kas ļauj lejupielādēt failus no attālajiem serveriem, izmantojot HTTP, HTTPS un FTP protokolus, piemēram, wget un cURL. Veicot automatizācijas uzdevumus, laiku pa laikam būs nepieciešams lejupielādēt failus un pakotnes attālajos resursdatoros. Lai gan, lai veiktu šo funkciju, attālajos resursdatoros varat izmantot wget un cURL, varat arī apiet nepieciešamo instalāciju, lai izmantotu šos rīkus, izmantojot moduli Ansible get_url.
Šajā apmācībā ir parādīts, kā izmantot komandu Ansible get_url, lai lejupielādētu failus no attāliem serveriem.
Pirms sākam, komandai Ansible get_url ir nepieciešami šādi priekšnosacījumi:
- Attālajam serverim, no kura lejupielādējami faili, jābūt tiešai piekļuvei resursdatora serverim.
- Saimniekdatoram ir jāatbalsta gan HTTP, gan HTTPS protokoli.
Par moduli get_url
Pirms uzzināt, kā ieviest moduli get_url, vispirms ir dažas lietas, par kurām ir vērts saprast šo moduli. Get_url modulis atbalsta šādas funkcijas:
- Kontrolsummas lejupielāde un pārbaude no servera
- HTTP, HTTPS un FTP serveri
- Starpniekserveri, kurus var norādīt
_proxy direktīva - Taimauta iestatīšana pieprasījumu saņemšanai
- Tīmekļa pārmeklēšana
- Pamata tīmekļa autorizācija
Tālāk mēs parādīsim, kā izmantot moduli get_url, lai lejupielādētu failus ar dažādiem protokoliem un konfigurācijām.
Failu iegūšanai izmantojiet moduli get_url
Tālāk ir sniegti daži piemēri, kurus varat ieviest, izmantojot moduli get_url, lejupielādējot failus no attālā servera.
Lejupielādējiet failus no HTTP / HTTPS servera ar tiešo URL
Apsveriet šo playbook, kas izveido direktoriju ~ /.lokāli un izmanto moduli get_url, lai lejupielādētu Debian MySQL pakotni.
PIEZĪME: MYSQL serveru paketes varat atrast tālāk norādītajā resursā:
https: // linkfy.to / mysql-paketes
- saimnieki: visi- nosaukums: Lejupielādējiet Debian MySQL serveri, izmantojot HTTP / HTTPS
uzdevumi:
- nosaukums: Izveidojiet direktoriju mysql-server mapē / home / user /.vietējais
fails:
ceļš: ~ /.vietējais / mysql-serveris
stāvoklis: direktorijs
režīms: 0777
- nosaukums: IEGŪT MySQL-servera paketes
get_url:
url: “https: // lejupielādē.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-pakete.darva ”
dest: ~ /.vietējais / mysql-serveris
režīms: 0777
kontrolsumma: md5: 5568e206a187a3b658392520540f556e
Iepriekš minētā grāmata sākas, izveidojot direktoriju mapē $ HOME /.local / mysql-server, kur jāglabā lejupielādētā pakete. Ja veidojat direktoriju priviliģētā direktorijā, neaizmirstiet izmantot direktīvu “kļūt”.
Pēc tam atskaņošanas grāmata izsauc moduli get_url un norāda URL, no kura lejupielādēt pakotni, kam seko mērķa direktorijs, kurā saglabāt failu. Spēļu grāmatas pēdējā sadaļā ir norādīta md5 kontrolsumma, lai pārbaudītu faila derīgumu.
PIEZĪME: Iepriekš minētajā spēles grāmatā mēs kodējām kontrolsummu, taču jūs varat norādīt URL, kurā tiek mitināta kontrolsumma.
Pēc spēles grāmatas palaišanas jūs iegūsiet izvadi, kas norāda uz uzdevumu panākumiem vai neveiksmēm.
$ ansible-playbook download_mysql_server.yml PLAY [Lejupielādējiet Debian MySQL serveri, izmantojot HTTP / HTTPS] ********************************* *************************************************** *************************************************** ******************UZDEVUMS [Faktu apkopošana] *************************************** *************************************************** *************************************************** ******************************************
labi: [35.222.210.12]
UZDEVUMS [Izveidot direktoriju mysql-server mapē / home / user /.vietējais] ************************************************* *************************************************** *************************************************** ***********
35.222.210.12: ok = 3 mainīts = 1 nav sasniedzams = 0 neizdevās = 0 izlaists = 0 izglābts = 0 ignorēts = 0
Kad process ir pabeigts, varat pieteikties resursdatorā un pārbaudīt, vai fails pastāv.
Lejupielādējiet failus ar sha256 kontrolsummu
Varat arī lejupielādēt failus un tos pārbaudīt, izmantojot sha256 kontrolsummu, kā parādīts tālāk esošajā atskaņošanas grāmatas piemērā:
- saimnieki: visi- nosaukums: Lejupielādējiet Debian MySQL serveri, izmantojot HTTP / HTTPS
uzdevumi:
- nosaukums: Izveidojiet direktoriju mysql-server mapē / home / user /.vietējais
fails:
ceļš: ~ /.vietējais / mysql-serveris
stāvoklis: direktorijs
režīms: 0777
- nosaukums: IEGŪT MySQL-servera paketes
get_url:
URL: https: // lejupielādes.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-pakete.darva
dest: ~ /.vietējais / mysql-serveris
režīms: 0777
kontrolsumma: sha256: b5bb9d8014a0f9b1d61e21e796d78eefdf1352f23cd32812f4850b878ae4944c
Lai pārbaudes summas kodēšanas vietā izmantotu URL, ņemiet vērā šo piemēru:
- saimnieki: visi- nosaukums: Lejupielādējiet Debian MySQL serveri, izmantojot HTTP / HTTPS
uzdevumi:
- nosaukums: Izveidojiet direktoriju mysql-server mapē / home / user /.vietējais
fails:
ceļš: ~ /.vietējais / mysql-serveris
stāvoklis: direktorijs
režīms: 0777
- nosaukums: IEGŪT MySQL-servera paketes
get_url:
URL: https: // lejupielādes.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-saišķis.darva
dest: ~ /.vietējais / mysql-serveris
režīms: 0777
kontrolsumma: sha256: https: // lejupielādes.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-saišķis.darva.sha265
Lejupielādējiet failus ar taimautu, ja nereaģējat
Dažos gadījumos jums var būt noteikts resursa URL, kura atbildēšana var ilgt ilgāku laiku vai nav pieejama. Tas var izraisīt savienojuma slēgšanu, pirms serveris reaģē, jo noklusējuma taimauts parasti ir 10 sekundes. Lai skaidri norādītu taimauta vērtību, izmantojiet taimautu:
Apsveriet šo spēļu grāmatu:
- saimnieki: visi- nosaukums: Lejupielādējiet Debian MySQL serveri ar noildzi
uzdevumi:
- nosaukums: Izveidojiet direktoriju mysql-server mapē / home / user /.vietējais
fails:
ceļš: ~ /.vietējais / mysql-serveris
stāvoklis: direktorijs
režīms: 0777
- nosaukums: IEGŪT MySQL-servera paketes
get_url:
URL: https: // lejupielādes.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-saišķis.darva
dest: ~ /.vietējais / mysql-serveris
režīms: 0777
kontrolsumma: sha256: https: // lejupielādes.mysql.com / archives / get / p / 23 / file / mysql-server_8.0.22-1debian10_amd64.deb-saišķis.darva.sha265
taimauts: 30
Iepriekš minētajā atskaņošanas grāmatā taimauts ir norādīts kā 30 sekundes, un savienojums tiks pārtraukts, ja serveris nereaģēs noteiktajā laikā.
Lejupielādējiet failus ar autentifikāciju
Lai lejupielādētu failu serverī, kuram nepieciešama autentifikācija, jums būs jānorāda pieteikšanās vērtības.
Apsveriet šo spēļu grāmatu:
- saimnieki: visi- nosaukums: Lejupielādējiet failu ar autentifikāciju
kļūt: jā
get_url:
URL: http: // 102.15.192.120 / dublējumi / datu bāze.darva.gz
dest: / backups
lietotājvārds: lietotājs
parole: 'pass'
režīms: 0777
taimauts: 5
Lejupielādējiet failus no lokālā failu ceļa
Lai lejupielādētu failu no lokālā faila ceļa, varat izmantot failu: // URI shēmu, kam seko faila ceļš.
Apsveriet šo spēļu grāmatu:
- saimnieki: tīmekļa serveri- nosaukums: lejupielādējiet failu no vietējā faila ceļa
kļūt: jā
get_url:
url: file: /// backups / secure / config.darva.gz
dest: / dev / null
Lejupielādējiet FTP failus
FTP failu lejupielāde ir ļoti līdzīga iepriekšējā sadaļā aprakstītajam procesam. Viss, kas jums jādara, ir norādīt servera protokolu ftp: //.
Lai lejupielādētu drošu failu, jums jāpievieno arī pieteikšanās informācija, kā parādīts iepriekš.
Apsveriet šo spēļu grāmatu:
- saimnieki: visiuzdevumi:
- nosaukums: lejupielādējiet failu no FTP servera
kļūt: jā
get_url:
URL: ftp: // 192.168. lpp.11.101
dest: / backups
režīms: 0777
Ansible get_url moduļa opcijas
Modulis get_url atbalsta arī dažādas opcijas, kuras varat izmantot, lai norādītu un uzraudzītu failu lejupielādi un pārvaldību. Ar moduli get_url pieejamās opcijas ir šādas:
- Dublēšana: Dublēšanas opcija, Boolean jā un nē, ļauj norādīt, vai izveidot lejupielādējamā faila dublējumkopiju.
- Grupa: Grupas opcija norāda grupu, kurai pieder lejupielādētā faila īpašumtiesības; šī opcija ir kā chown komanda Unix.
- Galvenes: Opciju Headers izmanto, lai norādītu pielāgotas HTTP galvenes vārdnīcā hash formātā.
- http_agent: Opcija http_agent norāda HTTP aģentu.
- Īpašnieks: Opcija Īpašnieks norāda lejupielādēto failu īpašnieku.
- Seusers: Opcija Seuser iestata lietotāju SELinux faila kontekstā.
- use_proxy: Opcija use_proxy nosaka, vai jāizmanto starpniekserveris. Ja šī opcija ir iestatīta uz false, visi starpniekserveri tiks ignorēti, pat ja jums tāds ir norādīts mērķa resursdatorā.
Secinājums
Šajā rakstā detalizēti tika apskatīts modulis get_url sadaļā Ansible un parādīts, kā izmantot šo moduli, lai lejupielādētu failus no dažādiem avotiem. Varat izmantot šo rakstu, lai uzzinātu, kā lejupielādēt failus programmā Ansible, izmantojot moduli get_url.