DSC för Linux nxArchive-resurs

NxArchive-resursen i PowerShell Desired State Configuration (DSC) tillhandahåller en mekanism för att packa upp arkivfiler (.tar, .zip) på en specifik sökväg på en Linux-nod.

Syntax

nxArchive <string> #ResourceName
{
    SourcePath = <string>
    DestinationPath = <string>
    [ Checksum = <string> { ctime | mtime | md5 }  ]
    [ Force = <bool> ]
    [ DependsOn = <string[]> ]
    [ Ensure = <string> { Absent | Present }  ]
}

Egenskaper

Egenskap Beskrivning
SourcePath Anger källsökvägen för arkivfilen. Detta bör vara en .tar-, .zip- eller .tar.gz-fil.
DestinationPath Anger den plats där du vill se till att arkivinnehållet extraheras.
Kontrollsumma Definierar vilken typ som ska användas när du fastställer om källarkivet har uppdaterats. Värdena är: ctime, mtime eller md5. Standardvärdet är md5.
Force Vissa filåtgärder (till exempel att skriva över en fil eller ta bort en katalog som inte är tom) resulterar i ett fel. Om du använder egenskapen Force åsidosätts sådana fel. Standardvärdet är $false.

Gemensamma egenskaper

Egenskap Beskrivning
DependsOn Anger att konfigurationen av en annan resurs måste köras innan den här resursen har konfigurerats. Om till exempel ID:t för resurskonfigurationsskriptblocket som du vill köra först är ResourceName och dess typ är ResourceType är DependsOn = "[ResourceType]ResourceName"syntaxen för att använda den här egenskapen .
Säkerställa Avgör om du vill kontrollera om innehållet i arkivet finns på målet. Ställ in den här egenskapen på Presentera för att säkerställa att innehållet finns. Ställ in den på Frånvarande för att säkerställa att de inte finns. Standardvärdet är Present.

Exempel

I följande exempel visas hur du använder nxArchive-resursen för att säkerställa att innehållet i en arkivfil med namnet website.tar finns och extraheras vid ett visst mål.

Import-DSCResource -ModuleName nx

nxFile SyncArchiveFromWeb
{
   Ensure = "Present"
   SourcePath = "http://release.contoso.com/releases/website.tar"
   DestinationPath = "/usr/release/staging/website.tar"
   Type = "File"
   Checksum = "mtime"
}

nxArchive SyncWebDir
{
   SourcePath = "/usr/release/staging/website.tar"
   DestinationPath = "/usr/local/apache2/htdocs/"
   Force = $false
   DependsOn = "[nxFile]SyncArchiveFromWeb"
}