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"



