Arkivering har sine fordeler, den største av dem er enkel bærbarhet. Det lar deg gruppere filer av forskjellige typer og komprimere dem til en enkelt bærbar .ZIP/TAR -fil som kan dekomprimeres for å hente de originale filene senere.
Ansible gir også arkivalternativer ved hjelp av Ansible.bygget.Unarkivmodul. Denne modulen har unzip -alternativene tilgjengelige, sammen med noen alternativer som lar den kopiere filer før du henter dem ut.
Denne guiden er ment å hjelpe deg med å lære hvordan du kan bruke unarkivmodulen i Ansible. Vi vil gå over det grunnleggende i Unarchive -modulen, noen vanlige parametere og eksempler på hvordan du implementerer dem.
Når det er sagt, la oss begynne.
Forutsetninger for unarkiv i Ansible
Følgende er kravene til at Ansible Unarchive -modulen skal fungere ordentlig på systemet ditt.
Vi vil også anbefale at du har noen grunnleggende kunnskaper om hvordan du utfører kommandoer i terminalen.
Begrensninger av unarkiv i Ansible
Mens unarkivmodulen fungerer bra med .tjære, og .ZIP -filer, det kan ikke brukes med filer av typen .gz, .BZ2, .XZ -filer. Filer må inneholde en .tjærearkiv for at modulen skal fungere. For filer som bruker GTAR, må du sørge for at -diff -argumentet støttes.
Den neste delen av denne guiden vil dekke parametrene til Unarkive -modulen.
Parametere for Ansible Unarchive -modulen
Ansible Unarchive -modulen har sin egen liste over parametere som utvider funksjonaliteten til den generelle modulen.
En liste over viktige moduler er gitt nedenfor.
Bortsett fra parametrene ovenfor, er flere alternativer tilgjengelige med Ansible Unarchive -modulen. For mer informasjon om parametrene, sjekk ut den offisielle Ansible Unarchive Module -dokumentasjonen online.
Den neste delen av denne guiden vil gå over noen eksempler på hvordan du bruker unarkiv i Ansible.
Bruke unarkiv for å trekke ut en fil i en gitt katalog
Følgende eksempel illustrerer hvordan du kan trekke ut a .TGZ -fil (kalt arkiv.tgz) til en gitt sti.
- Navn: Trekk ut arkiv.tgz inn/var/lib/arkivUtfør nå denne kommandoen i Linux -terminalen for å kjøre en spillbok.
Ansible-Playbook Testbook.yml“SRC” betegner filen som skal tas ut mens “Dest:” brukes til å spesifisere banen.
Vi skal se flere eksempler for å forstå hvordan du bruker unarkivmodulen bedre.
Unarkiv en fil tilgjengelig på den eksterne verten
Følgende eksempel illustrerer hvordan du kan trekke ut en fil som allerede er til stede på den eksterne verten eller maskinen.
- Navn: Pakk ut en fil som allerede er til stede på det eksterne systemet.Den nevnte koden vil trekke ut filarkivet.Zip in/usr/local/bin.
Bruke unarkivmodulen for å trekke ut en fil som er online
Dette var en funksjon som ble lagt til i Ansible versjon 2.0. Den lar deg trekke ut en fil som er tilgjengelig på nettet som ikke er lastet ned ennå på systemet.
Følgende eksempel illustrerer hvordan du kan oppnå dette.
- Navn: Pakk ut en fil som ikke er lastet ned ennå på systemet dittDen nevnte kodeblokken vil trekke ut filen i destinasjonsstien/usr/lokal/bin.
Forskjellen i spillkode med og uten unarkiv
Følgende eksempel er ment å hjelpe deg med å se forskjellen mellom kode som benytter seg av unarkiv -kommandomodulen.
Vi starter med å ta en titt på hvordan du skriver koden for å kopiere og unarkive filer. Vi bruker kopimodulen sammen med TAR -XVF -kommandoen for utvinning.
---De samme oppgavene kan oppnås på en mye enklere måte ved å bruke unarkivmodulen som vist nedenfor.
---Legg merke til hvordan det er en betydelig reduksjon i kodelinjene sammenlignet med metoden som ikke bruker unarkivmodulen. Ved å bruke unarkivmodulen, kunne vi slå sammen oppgaven til å kopiere og unarkives inn i en.
Konklusjon
Vi håper denne guiden hjalp deg med å lære hvordan du kan bruke unarkivmodulen i Ansible. Vi dekket det grunnleggende i modulen sammen med begrensninger, forutsetninger og parametere. Vi gikk også over noen eksempler for å forbedre vår forståelse. Med dette ønsker vi deg alt godt i å lære å bruke Ansible.