Advanced Options (not available in the preferences window)

CCC 2.0 introduces persistent preferences. The preferences file is kept at ~/Library/Preferences/com.bombich.ccc.plist. While many of the features of CCC can be controlled from the preferences panel in CCC, there are a few advanced settings that can be administered by editing the CCC plist file.

The CCC Property List file

The picture below is an example of what the CCC property list file (CCC's preferences file) looks like in the Property List Editor, a tool included with the Developer Tools. If you do not have the Developer Tools installed, you can use any text editor to edit this file. The example below highlights the cache items list. These items will be removed from the target disk at the end of a clone operation. If you do not want to delete one of these items, remove it from the property list. You may also add items to this list. Note that there is not a preceding slash on the path names. The paths are relative to the root level of the target disk. You must also properly escape any special characters for the shell (I elected to not do this within CCC to allow you to use wildcards). See Property List Editor help for more info on using Property List Editor to modify a plist file.

GUI modifiable preferences

The items listed in the picture below are modifiable in CCC's preferences panel. You can guess their associations to interface items in the preferences panel.

Auto-ignored items

CCC ignores some items from the root level of the source disk by default. These items are either unnecessary to copy, are junk, or are automatically created when the computer boots up. If you would like to include some of these items in a clone, remove those items from this list. Likewise, you can add items to the list so that CCC will ignore them (this ONLY applies to items at the root level). Each item should be enclosed in strong quotes (') and should resemble the output of the "/bin/ls -AF" command.  Be careful for carriage return and line feed characters, you may need to use a text editor such as BBEdit to add these characters.

Pre and Postflight scripts

CCC 2.0 introduces the ability to run pre and postflight scripts. Preflight scripts run before any other operations. You must indicate the path to your pre and postflight scripts in the properties shown in the example below. The path names should be absolute path names relative to whatever disk you are booted from while running CCC. These scripts must be executable by root. You can keep the scripts wherever you like, I recommend the /etc directory (seems most appropriate).

Below are some examples of what you can do with a pre or postflight script.  The possibilities are endless!

####################
#!/bin/tcsh -f

## Example preflight script for CCC
## There are two arguments passed to this script for your convenience:
## sourceDisk: example, '/'
## targetDisk: example, '/Volumes/Test'

## $1 = sourceDisk
## $2 = targetDisk

## Data cannot be passed back into CCC, but any output will be displayed in the log

echo $1 $2 > /tmp/ccc.out
####################
####################
#!/bin/tcsh -f

## Example postflight script for CCC
## There are two arguments passed to this script for your convenience:
## sourceDisk: example, '/'
## targetDisk: example, '/Volumes/Test'

## $1 = sourceDisk
## $2 = targetDisk

## Data cannot be passed back into CCC

echo $1 $2 > /tmp/cccpost.out


## Other handy command-line tools 

## systemsetup can be used to modify many settings such as:
# computer name
# sleep settings
# startup disk
# date/time/time zone
# remote login
# see man systemsetup for more options and terminology

#/usr/sbin/systemsetup -setcomputername "computername"

## example commands in /usr/sbin:
## "networksetup" can be used to modify network settings
## "installer" can be used to install packaged software
## "softwareupdate" can be used to apply software updates
## "disktool" can be used to verify/repair disks and permissions


## /sbin/reboot, /sbin/shutdown -h now
####################

See the Bombich Software Forum (English webpage) for user-contributed pre and postflight scripts.