ControlTier Inc. > CTL
 
Font size:      

CTL-ARCHIVE Command Reference

Synopsis

ctl-archive -a {create|extract} -f file [-p project | -d dir]

Overview

The ctl-archive command is used to create and extract archived object data. This command is useful when it is preferable to use a package-centric release methodology rather than distribute data via a pull-based centralized client/webserver. Using ctl-archive you can package object entity.properties data maintained in an SCM and deploy it to CTL hosts using a package distribution tool like RPM.

Object data is structured in the normal CTL project depot structure. Archives contain these two kinds of files: entity.properties for any object and the deployments.properties that shows the mapping of objects to nodes:

Directory structure

For users maintaining these files in an SCM, employ the following directory structure to faciliate easy ctl-archive use:

entity.properties :

{project}/deployments/{type}/{name}/var/entity.{properties|xml|rdf}

deployments.properties :

{project}/etc/deployments.properties.

Filtered extraction

The ctl-archive extract action only extracts entity.properties files for objects registered to hosts thost registrations in the deployments.properties file. This ensures that extraneous object data is not present on any host.

Options

Option alternate argument description
-h --help false displays the usage information presented above
-a --action true archival action. (create or extract)
-d --dir true directory containing depot deployments data
-f --file true file to extract or write archived data
-p --project true project depot name

Execution

Examples:

ctl-archive -a create -p myproject -f myproject-archive.jar

Create an archive for all the objects in the project depot: "myproject"

ctl-archive -a extract -p myproject -f myproject-archive.jar

Extracts the object data from the archive into project depot: "myproject"

ctl-archive -a create -d targetdir/myproject -f myproject-archive.jar

Create an archive for all the object data in the directory: "targetdir/myproject"