Quantcast
Channel: Carbon Copy Cloner | Bombich Software - Advanced Topics
Viewing all 257 articles
Browse latest View live

Frequently Asked Questions about cloning Apple's "Recovery HD" partition

$
0
0
Product: 
ccc5

Carbon Copy Cloner offers complete support for archiving, cloning, and recreating Apple's Recovery HD partition. See the Cloning Apple's Recovery HD partition section of CCC's Disk Center documentation for instructions to create a Recovery HD volume on your backup disk.

When do I need to create a Recovery HD volume?

CCC bootable backups offer similar functionality to the Recovery HD volume, so the Recovery HD volume is not strictly required on a backup volume. Unless you have a specific reason to not create a Recovery HD, though (e.g. because it could affect a Boot Camp partition on the same disk, you don't want to give up the 1GB, etc), we recommend that you maintain a Recovery HD volume on your backup disk. Especially if you intend to use your destination volume in production (e.g. you are migrating to a larger disk, or restoring to a replacement disk), or if you intend to enable encryption on the backup volume, then you should create a Recovery HD volume for the destination volume. If you intend to enable encryption on the destination volume, we recommend that you create the Recovery HD volume before enabling encryption. A Recovery HD volume is not required for restoring an installation of macOS from a CCC bootable backup.

What is the difference between archiving the Recovery HD and creating a new Recovery HD?

During the course of an ordinary backup of a volume that contains macOS, CCC will automatically create an archive of the Recovery HD associated with that volume. This archive is stored on the source volume, and is subsequently backed up to the backup volume along with everything else. This archive of the Recovery HD volume can be used in the future to create a new Recovery HD, and it's the first source that CCC considers when you choose to create a Recovery HD. The archive is not, however, an operational Recovery HD volume, it's just a backup file.

CCC's Disk Center offers the ability to create an operational Recovery HD volume as well. This functionality is completely separate from creating an archive of the Recovery HD. Unlike the archiving of the source Recovery HD, creating a new Recovery HD is not something that happens automatically, you have to ask CCC to do this in the Disk Center. When CCC creates a new Recovery HD, it borrows space from your destination volume to create a new, hidden volume on that disk. The resulting Recovery HD is fully operational — you can boot your Mac from it and reinstall macOS. Refer to the previous section to determine if creating a Recovery HD is required in your situation.

Why were other volumes on my disk unmounted when I created a Recovery HD?

CCC uses a command-line version of Disk Utility to resize the donor volume. Resizing that volume requires making changes to the partition table on the disk, and Disk Utility may choose to unmount other volumes on the disk while it makes those changes. CCC will specifically remount the donor volume, but whether Disk Utility remounts the other volumes is a function (or bug) of Disk Utility. You can remount these volumes manually in Disk Utility.

Can I create a Recovery HD on an Apple Fusion (aka "CoreStorage") volume?

No, not with CCC. Creating a Recovery HD requires borrowing space from a physical volume, and that is not a modification that we recommend making to an underlying member of an Apple Core Storage logical volume. The only Apple-supported method of creating a Fusion volume is via Disk Utility or the macOS Installer, and each of those will create a Recovery HD volume before the Fusion volume is created. If you intend to create your own HFS+ formatted Fusion volume using one of the various tutorials available on the Internet, and if you want that volume to have an associated Recovery HD volume, we strongly recommend that you create a Recovery HD volume before creating the Fusion volume. You can use CCC to create the Recovery HD volume on the slowest disk that you intend to add to the Fusion logical volume group. See the following document for a demonstration.

Creating a Fusion volume with a Recovery HD

Why is the option to create (or remove) a Recovery HD disabled?

If you are booted from the volume that you have selected in CCC's sidebar, the option to Create or Remove the Recovery HD associated with that volume will be disabled. This is commonly encountered when you have booted from your backup volume. To make changes to the Recovery HD associated with your startup disk, first boot your Mac from some other startup volume.

This option will also be disabled if the selected volume is a Fusion or FileVault-protected volume (i.e. a "CoreStorage" volume). CCC cannot create a Recovery HD volume on a Fusion or FileVault-protected volume, therefore CCC will never allow you to remove the Recovery HD volume that is associated with a Fusion or FileVault-protected volume.

CCC says there is a Recovery volume associated with my startup disk. Why can't I see this Recovery HD volume in the Option key startup manager?

Apple uses an abstract volume type, the CoreStorage volume, for some startup disks. Because these volumes are abstract, your Mac's firmware cannot boot directly from them; a small piece of macOS needs to assemble the abstract volume first. To accommodate this limitation, Apple associates a "helper" partition with CoreStorage volumes. In many cases, the Recovery HD volume plays that role. When you hold down the Option key on startup, your Mac's firmware can't detect the abstract CoreStorage volumes, but it can detect these helper partitions. To avoid confusion, the label given to these Recovery volumes is the label of the associated volume. So if you have a startup disk named "Macintosh HD" and an associated helper partition named "Recovery HD", you will only see one volume in the startup manager — the Recovery volume, but with the Macintosh HD label. If you want to boot from the Recovery volume, click on the Macintosh HD-labeled volume while holding down Command+R.

I'm backing up an APFS startup disk to an HFS+ backup disk. Will CCC automatically create a Recovery HD volume on the destination?

For logistical and data safety reasons that are specific to the shortcomings of HFS+, CCC will not automatically create a Recovery HD volume on an HFS+ formatted destination volume; CCC will only automatically create recovery volumes on APFS destination volumes. But you will be able to create a Recovery HD on the destination regardless of the format of the source. During the backup task, CCC will create a format-agnostic archive of the Recovery volume that is associated with the source. At the end of your first backup task, CCC will prompt you to create the Recovery HD volume on the destination, and will then walk you through the simple procedure. You may also select your HFS+ destination in CCC's sidebar and click on the Recovery HD... button at the bottom of the window to create that volume.


Working with FileVault Encryption

$
0
0
Product: 
ccc5

CCC is fully qualified for use with FileVault-protected volumes (HFS+ and APFS). CCC offers some advice around enabling encryption in the Disk Center.

Enabling encryption on a volume that contains (or will contain) an installation of macOS

If your goal is to create a bootable, encrypted backup, use the following procedure:

  1. Follow CCC's documentation to properly format the destination volume. Do not format the volume as encrypted. Choose APFS if your Mac is a T2 Mac (e.g. iMac Pro, 2018 MacBook Pro; see the full list here).
  2. Use CCC to back up your startup disk to the unencrypted destination volume.
  3. If you're running an OS older than Mojave, select the destination volume in CCC's sidebar, then click the Recovery HD button to create a Recovery HD volume. Note: You must be logged in to an administrator account to perform this step. This step is unnecessary if your destination is an APFS-formatted volume.
  4. In the Startup Disk preference pane in the System Preferences application, select the backup volume as the startup disk and restart.
  5. Enable FileVault encryption in the Security & Privacy preference pane of the System Preferences application.
  6. In the Startup Disk preference pane in the System Preferences application, select your production startup volume as the startup disk and restart.
  7. Configure CCC for regular backups to your encrypted backup volume.

You do not have to wait for the conversion process to complete before rebooting from your production startup disk

Additionally, you do not have to wait for the conversion process to complete before using your backup disk. You can simply enable FileVault encryption, then immediately reboot from your primary startup disk and the conversion process will carry on in the background. Encryption will continue as long as the backup disk is attached. macOS doesn't offer a convenient method to see conversion progress, but you can type diskutil apfs list (or diskutil cs list if the applicable volume is HFS+ formatted) in the Terminal application to see conversion progress. Some users have found that conversion may not resume until you log in to an admin account while booted from your production startup volume, so try that if conversion appears to be stalled.

🔌 Keep your Mac plugged into AC power for the duration of encryption conversion

We have received a handful of reports from macOS Catalina users indicating that encryption conversion remains permanently paused if AC power is removed during the encryption conversion process. We have been unable to reproduce this result in our test lab — typically encryption conversion pauses when AC power is removed, but then resumes when AC power is restored. The number of reports to us, however, suggests that there is some underlying problem that may be new to macOS Catalina. To avoid this result, we recommend that you keep your Mac plugged in to AC power for the duration of encryption conversion. If you see an indication that encryption conversion is paused, try leaving the system plugged into AC overnight.

What if I don't want my personal data to ever be on the destination in unencrypted form?

Enabling FileVault on the destination means that the volume starts out unencrypted, and then over the course of several hours the data is encrypted in place. If the encryption conversion process completes successfully, then for most intents and purposes, no trace of the unencrypted data will be left on that disk. There are some caveats however. If your backup volume is an SSD, and if you delete files from the SSD prior to enabling encryption, then the SSD may automatically move the not-yet-encrypted underlying blocks out of rotation (for wear leveling), and those data could be recoverable by experts. Likewise, if the conversion process fails for any reason, then the data on that disk is potentially recoverable. If either of these scenarios is not acceptable, then we recommend that you exclude any sensitive data from the initial backup task. Don't exclude your whole home folder — you must include at least one folder from your home directory so that you can log in to that account on the backup.

After you have booted from the backup volume and enabled FileVault, you can then reboot from the production startup disk, remove the exclusions from your backup task, then run the backup task again to copy the remainder of your data. Any data that is copied to a volume that is in the midst of encryption conversion will be encrypted immediately.

Enabling encryption on a volume that will not contain an installation of macOS

If your backup volume won't be a bootable backup of macOS, simply right-click on that volume in the Finder and choose the option to encrypt the volume. If your Mac is running macOS High Sierra or later, please note that macOS will convert an HFS+ formatted volume to APFS when you enable encryption in this manner.

Finder option

Related Documentation

Frequently Asked Questions about cloning Apple's "Recovery HD" partition

$
0
0
Product: 
ccc5

Reminder: Recovery HD volume cloning is not applicable to APFS-formatted destination volumes (i.e. Catalina and later)

Carbon Copy Cloner offers complete support for archiving, cloning, and recreating Apple's Recovery HD partition. See the Cloning Apple's Recovery HD partition section of CCC's Disk Center documentation for instructions to create a Recovery HD volume on your backup disk.

When do I need to create a Recovery HD volume?

CCC bootable backups offer similar functionality to the Recovery HD volume, so the Recovery HD volume is not strictly required on a backup volume. Unless you have a specific reason to not create a Recovery HD, though (e.g. because it could affect a Boot Camp partition on the same disk, you don't want to give up the 1GB, etc), we recommend that you maintain a Recovery HD volume on your backup disk. Especially if you intend to use your destination volume in production (e.g. you are migrating to a larger disk, or restoring to a replacement disk), or if you intend to enable encryption on the backup volume, then you should create a Recovery HD volume for the destination volume. If you intend to enable encryption on the destination volume, we recommend that you create the Recovery HD volume before enabling encryption. A Recovery HD volume is not required for restoring an installation of macOS from a CCC bootable backup.

What is the difference between archiving the Recovery HD and creating a new Recovery HD?

During the course of an ordinary backup of a volume that contains macOS, CCC will automatically create an archive of the Recovery HD associated with that volume. This archive is stored on the source volume, and is subsequently backed up to the backup volume along with everything else. This archive of the Recovery HD volume can be used in the future to create a new Recovery HD, and it's the first source that CCC considers when you choose to create a Recovery HD. The archive is not, however, an operational Recovery HD volume, it's just a backup file.

CCC's Disk Center offers the ability to create an operational Recovery HD volume as well. This functionality is completely separate from creating an archive of the Recovery HD. Unlike the archiving of the source Recovery HD, creating a new Recovery HD is not something that happens automatically, you have to ask CCC to do this in the Disk Center. When CCC creates a new Recovery HD, it borrows space from your destination volume to create a new, hidden volume on that disk. The resulting Recovery HD is fully operational — you can boot your Mac from it and reinstall macOS. Refer to the previous section to determine if creating a Recovery HD is required in your situation.

Why were other volumes on my disk unmounted when I created a Recovery HD?

CCC uses a command-line version of Disk Utility to resize the donor volume. Resizing that volume requires making changes to the partition table on the disk, and Disk Utility may choose to unmount other volumes on the disk while it makes those changes. CCC will specifically remount the donor volume, but whether Disk Utility remounts the other volumes is a function (or bug) of Disk Utility. You can remount these volumes manually in Disk Utility.

Can I create a Recovery HD on an Apple Fusion (aka "CoreStorage") volume?

No, not with CCC. Creating a Recovery HD requires borrowing space from a physical volume, and that is not a modification that we recommend making to an underlying member of an Apple Core Storage logical volume. The only Apple-supported method of creating a Fusion volume is via Disk Utility or the macOS Installer, and each of those will create a Recovery HD volume before the Fusion volume is created. If you intend to create your own HFS+ formatted Fusion volume using one of the various tutorials available on the Internet, and if you want that volume to have an associated Recovery HD volume, we strongly recommend that you create a Recovery HD volume before creating the Fusion volume. You can use CCC to create the Recovery HD volume on the slowest disk that you intend to add to the Fusion logical volume group. See the following document for a demonstration.

Creating a Fusion volume with a Recovery HD

Why is the option to create (or remove) a Recovery HD disabled?

If you are booted from the volume that you have selected in CCC's sidebar, the option to Create or Remove the Recovery HD associated with that volume will be disabled. This is commonly encountered when you have booted from your backup volume. To make changes to the Recovery HD associated with your startup disk, first boot your Mac from some other startup volume.

This option will also be disabled if the selected volume is a Fusion or FileVault-protected volume (i.e. a "CoreStorage" volume). CCC cannot create a Recovery HD volume on a Fusion or FileVault-protected volume, therefore CCC will never allow you to remove the Recovery HD volume that is associated with a Fusion or FileVault-protected volume.

CCC says there is a Recovery volume associated with my startup disk. Why can't I see this Recovery HD volume in the Option key startup manager?

Apple uses an abstract volume type, the CoreStorage volume, for some startup disks. Because these volumes are abstract, your Mac's firmware cannot boot directly from them; a small piece of macOS needs to assemble the abstract volume first. To accommodate this limitation, Apple associates a "helper" partition with CoreStorage volumes. In many cases, the Recovery HD volume plays that role. When you hold down the Option key on startup, your Mac's firmware can't detect the abstract CoreStorage volumes, but it can detect these helper partitions. To avoid confusion, the label given to these Recovery volumes is the label of the associated volume. So if you have a startup disk named "Macintosh HD" and an associated helper partition named "Recovery HD", you will only see one volume in the startup manager — the Recovery volume, but with the Macintosh HD label. If you want to boot from the Recovery volume, click on the Macintosh HD-labeled volume while holding down Command+R.

I'm backing up an APFS startup disk to an HFS+ backup disk. Will CCC automatically create a Recovery HD volume on the destination?

For logistical and data safety reasons that are specific to the shortcomings of HFS+, CCC will not automatically create a Recovery HD volume on an HFS+ formatted destination volume; CCC will only automatically create recovery volumes on APFS destination volumes. But you will be able to create a Recovery HD on the destination regardless of the format of the source. During the backup task, CCC will create a format-agnostic archive of the Recovery volume that is associated with the source. At the end of your first backup task, CCC will prompt you to create the Recovery HD volume on the destination, and will then walk you through the simple procedure. You may also select your HFS+ destination in CCC's sidebar and click on the Recovery HD... button at the bottom of the window to create that volume.

Backing up to a disk image

$
0
0
Product: 
ccc5

Disk images are not bootable backups. To create a bootable backup, you must back up to a hard drive that is attached directly to your Mac. We recommend that you only use a disk image if you are backing up to a network volume connected to via ethernet, and we recommend using locally-attached storage for your primary backups.

A disk image is a single file residing on your hard drive that contains the entire contents of another hard drive (except for the free space). When you want to access the contents of that filesystem, you double-click on the disk image to mount the disk image as if it were an external drive attached to the machine. We recommend using disk images sparingly. If you're backing up to a network volume and your Mac and the NAS device are connected to the network via ethernet, then a disk image may be a good fit. In most cases, however, disk images are not a great choice for your backup strategy.

To back up to a new disk image:

  1. Choose your source volume from the Source selector
  2. Choose New disk image... from the Destination selector
  3. Provide a name and choose a location to save your disk image
  4. If you plan to back up to this disk image again in the future, set the image format to one of the read/write formats. If you want a read-only disk image for archival purposes, set the image format to one of the read-only formats.

To back up to an existing disk image, select Choose disk image... from the Destination selector and locate your disk image.

Read/write "sparseimage" disk images

A sparseimage disk image is a type of read/write disk image that grows as you copy files to it. In general, sparse disk images only consume as much space as the files they contain consume on disk, making this an ideal format for storing backups. Use of this older disk image format is only recommended when backing up to non-AFP network volumes on an OS older than macOS Sierra. Please note that sparseimage files are monolithic and potentially very large files. If the underlying filesystem has a 2TB file size limit and the sparseimage file reaches that limit, the sparseimage file cannot be grown. In most of these cases the sparseimage file becomes corrupted when the underlying filesystem limit is reached, so we don't recommend this disk image format for large data sets.

Read/write "sparsebundle" disk images

A sparse bundle disk image is similar to a sparseimage insofar as it grows as you add data to it, but it retains its data in many smaller files inside of a bundle rather than inside a single file. We recommend this disk image format for most scenarios.

Running out of space on a sparseimage or sparsebundle disk image

CCC reported that the destination is full, but the underlying disk has plenty of free space. CCC initially sets the capacity of your disk image to the amount of free space on the underlying disk. If you have freed up some space on that disk since you created the disk image, you can manually expand the capacity of the destination disk image in Disk Utility. Choose Resize... from the Images menu in Disk Utility, select your destination disk image, then expand it as desired. We recommend that you do not expand the disk image such that it is larger than the capacity of the underlying disk.

The disk image file is larger than the amount of data it contains, why? Sparseimage and sparsebundle disk images grow as you add data to them. They do not, however, automatically shrink when files are deleted from them. As a result, the amount of disk space that the disk image file consumes will not necessarily reflect the amount of data that they consume. To reclaim disk space that is occupied by the free space on your sparse disk image, CCC will compact the disk image before attempting to mount it if the free space on the underlying volume is less than 25GB, or is less than 15% of the total disk capacity. In most cases, you do not need to compact the disk image yourself, but this functionality is documented here so you'll understand why you might see CCC spending time "Compacting the destination disk image" at the beginning of a backup task.

If you would like to compact a disk image manually, drop the disk image file onto this application: Compact Sparse disk images. Be sure to unmount the disk image volume if it is already mounted. Also, note that the compacting process can take a while (e.g. an hour for a 100GB disk image on a locally-attached volume). Finally, be sure that your system is running on AC power. The system utility that compacts the disk image will refuse to run while the system (e.g. a laptop) is running on battery power.

CCC applies more aggressive SafetyNet pruning to disk image volumes

When you configure a task to back up to a new disk image, CCC will configure the task's SafetyNet pruning to prune anything older than 1 day. You are welcome to change these settings, but we have found that more aggressive SafetyNet pruning will avoid excessive use of disk space on the underlying device, and will reduce the need to compact the disk image.

Please keep in mind that SafetyNet is not intended to offer access to older versions of your files, it is a safety mechanism that is designed to avoid the loss of data on an errantly-selected destination volume. SafetyNet is generally not applicable to disk image backups because the disk image is typically dedicated to the backup task. However, enabling SafetyNet with even a very aggressive pruning limit does offer a modicum of protection in cases where you've accidentally removed files from the source.

If you're looking for a solution that retains older versions of your files and your source volume is APFS-formatted, consider CCC's snapshot functionality instead. Snapshots are disabled on disk image destinations by default, but you can enable snapshot support either on the disk image volume or on the source volume.

Read-only disk images

Read-only disk images cannot be modified without invalidating the built-in checksum, therefore they are a good container for storing archived material. Compression rates vary on the content of your source, but you can typically expect to reduce the size of your disk image by about half when using compression. There is a subtle behavior that you should take note of when considering this option as a space-saving measure: CCC will first create a read/write disk image, copy the selected items to it, then convert the disk image to read-only compressed. In this case, you will actually need twice the space on your destination as the items to be copied consume on the source.

Encrypting disk images

If any of the data that you are backing up is sensitive, and if your backup device may be in an insecure location, encrypted disk images can improve the security of your backup. CCC offers 128 bit and 256 bit AES encryption to encrypt disk images. To create an encrypted disk image, select one of the encryption levels from the Encryption menu. After you click on the OK button, you will be prompted to specify a passphrase for the new disk image, and CCC will give you an opportunity to save the passphrase in your own keychain. CCC will also store the passphrase in a private keychain so the disk image can be mounted automatically during scheduled backup tasks.

Note: If you create a read-only, encrypted disk image, the intermediate disk image that CCC creates is NOT encrypted. This intermediate disk image file is deleted once the final, read-only, encrypted disk image has been created, but it is not shredded. Take this into consideration when choosing your destination media. If the destination may be placed in an insecure location, use Disk Utility to securely erase free space on the underlying destination volume after you have created your encrypted disk image archive.

Running a backup task whose destination is a disk image on the startup disk

If you specify a disk image that resides on your startup disk as the destination to a scheduled task, CCC will impose some more conservative requirements on this task. To proceed with this configuration, one of the following requirements must be met:

  • The amount of free space on the startup disk is at least 1GB larger than the amount of consumed space on the source volume.
  • The disk image won't grow, e.g. it is a .dmg file, not a sparseimage or sparsebundle disk image.

These requirements avoid a scenario in which the startup disk runs out of free space, causing instability on macOS. If you cannot accommodate the free space requirement, we recommend that you create a .dmg disk image in Disk Utility (choose File > New... > Blank Disk image, set the image format to read/write disk image). Disk Utility will pre-allocate exactly as much space as you request, and CCC will gladly use this disk image without fear of filling up the startup disk.

Sparsebundle disk images are not supported on some filesystems

If your Mac is running an OS older than macOS Sierra, CCC will refuse to save or mount a sparse bundle disk image if the underlying filesystem that the disk image file resides upon does not support the F_FULLFSYNC file control. Most filesystems support this file control, but the SMB file sharing protocol does not. Most people that encounter issues with creating a sparsebundle disk image on a network volume are encountering issues because the network volume is mounted via SMB.

Starting in Mavericks, Apple's preferred file sharing service is SMB. As a result, if you attempt to connect to a network volume, Finder will use SMB to establish that connection unless you explicitly specify AFP as the protocol to use. In this configuration, a sparse bundle disk image will not work, and CCC will issue an error. To avoid this error, connect to the network volume explicitly using AFP:

  1. Eject the network volume if it is currently mounted
  2. Choose Connect to server from the Finder's Go menu
  3. Type in "afp://yourserver.local" (changing the hostname, of course), then click the Connect button and mount the network volume
  4. Go back to CCC and choose Choose disk image... from the Destination selector, then select the sparsebundle disk image on your network volume

Why can't I use a sparsebundle disk image on a filesystem that does not support the F_FULLFSYNC file control?

When your computer writes a file out to the hard drive, the data usually goes to a "write buffer"— a small portion of RAM that is installed on the circuit board of the hard drive. By accumulating smaller write operations onto this RAM chip, the hard drive can increase overall write performance by writing large blocks of cached data to the physical media all at once. While this write buffer improves performance, it also carries a risk. If the power fails or the disk's connection to the computer is suddenly broken between the time that data was written to the buffer and when the buffer is flushed to the disk, your filesystem will have an inconsistency. Filesystem journaling typically mitigates this risk, however it doesn't offer enough protection for Apple's sparsebundle disk image type.

In Mac OS 10.5, Apple implemented the F_FULLFSYNC file control for network servers and clients. The F_FULLFSYNC file control is a command that is sent to the hard drive after some (or all) write operations that tells the disk to immediately flush its cache to permanent storage. To provide better protection for data on sparsebundle disk images, Apple disabled support on Mac OS 10.6 for using sparsebundle disk images that reside on filesystems that do not support the F_FULLFSYNC file control. Apple relaxed this requirement in macOS 10.12 (Sierra).

You are likely to encounter this error condition if your sparse bundle disk image is hosted on a pre-Mac OS 10.5 Macintosh or various Network Attached Storage (NAS) devices (especially SMB). When you encounter this error, copy the sparsebundle disk image to another network volume, or ask CCC to create a new sparseimage disk image file (sparseimage disk images are not the same as sparsebundle disk images).

Snapshots and Disk Images

When creating a new disk image, CCC will format the disk image to match the source volume. For better performance on APFS-formatted disk images, CCC will disable snapshot support on the destination disk image volume if:

  • The backup task was originally configured to create a new disk image
  • Snapshots are currently enabled for the destination disk image
  • The snapshot retention policy limit for SafetyNet snapshots is set to the default value of 7 days

When CCC disables snapshots on that destination disk image volume, it explicitly sets the SafetyNet limit in the snapshot retention policy to 0. If you subsequently re-enable snapshot support on that volume without changing the SafetyNet limit back to the default, then snapshots should remain enabled (because the three logical conditions are no longer matched).

If you would like to enable snapshot support on your disk image and keep it enabled, be sure to either leave the SafetyNet limit set to 0, or change it to anything other than 7. If you ever change the SafetyNet retention value for that disk image back to 7 (or other reset the values to defaults), CCC will again disable snapshots on the disk image when the task next runs.

A message for new Mac users coming from the Windows world

Backups on a Windows system are very different from those on a Macintosh. If you're coming from a Windows background, the term "imaging" and the concept of making a disk image backup is probably familiar to you. Restoring from disk image backups is made simpler on Windows because the startup environment is built around them. That's not the case for a Macintosh. When you create a disk image backup of your Mac's startup disk, the logistics of restoring that backup are actually fairly complicated. Due to these complications, we don't recommend using a disk image as your primary backup on a Mac. Disk images are useful for storing a backup of your user data on a network volume, but for your Mac's startup disk, we recommend that you back up directly to a disk that is attached to your Mac; not to a disk image.

Related Documentation

Frequently asked questions about the Carbon Copy Cloner SafetyNet folder

$
0
0
Product: 
ccc5

Note: The topics in this article are not relevant to APFS-formatted destination volumes that have CCC snapshot support enabled. For those volumes, CCC leverages snapshots to implement the SafetyNet functionality, and the snapshots aren't affected by any of the shortcomings described here.

How do I restore files from the _CCC SafetyNet folder?

CCC's SafetyNet folder ("_CCC SafetyNet") is excluded from CCC's backup tasks by default because it contains older versions of modified files, and files that were deleted from the source volume. Typically when you restore data from your backup volume, you will want to avoid restoring the items in this folder, choosing instead to restore the most recent backup of your files.

If there is something that you would like to restore from the CCC SafetyNet folder, a drag and drop restore in the Finder is usually the easiest way to do so. If you would like to restore many items, or merge them into an existing folder, choose Choose a folder... from CCC's Source selector and choose the folder from which you would like to restore. If you choose the _CCC SafetyNet folder as the source, note that the full path to your archived files will be preserved, e.g. 2017-07-27 (July 27) 14-11-18/Users/fred/Documents/some file.pdf. In most cases, you will want to choose a subfolder within the archives folder as your source. Likewise, choose Choose a folder... from CCC's Destination selector and select the specific folder that you want to restore items into.

Why can't I open some files in the _CCC SafetyNet folder?

When CCC evaluates the items on your destination and determines whether they should be archived or left in place, it does so on a file-by-file basis. This poses a challenge for bundle files — files that are actually a folder of files, but presented by the Finder as a single file. As a result, bundle files (e.g. applications, some types of libraries, some custom file types) may appear in an incomplete form within the CCC SafetyNet folder.

Unless all of the components within a bundle file are modified, only the items that have been updated will be present. Incomplete bundle files are generally not useful on their own, but their contents can be. For example, if you accidentally deleted a photo from your iPhoto library, you would be able to recover that lost photo from the archived iPhoto library bundle. To reveal the content of an incomplete bundle file in a CCC SafetyNet folder, right-click (or Control+click) on the item and choose Show package contents from the contextual menu.

Can I restore a previous version of the OS using one of the archives in the _CCC SafetyNet folder?

No. CCC's SafetyNet folder is not intended to offer a method for rolling back software updates, OS restores should always be done from the complete backup at the root level of your destination, or from a snapshot.

I deleted files from my startup disk to make more room, but now it's hard to find some of those files on my backup volume

This generally isn't a concern for ordinary "flat" file types, but it it can be a concern for certain applications that store lots of files in a single, monolithic-appearing container file. Some applications offer highly customized interfaces to access a specific file type. Photos, for example, allows you to manage tens of thousands of photo files. These files are all stored in a proprietary bundle file in your home folder, but because photos are so easy to organize within Photos, many people don't consider how those files are organized on the hard drive. Usually you really don't have to either. That is, of course, until you can no longer use Photos to access your photo files, and that's exactly what happens when you delete files from your Photos library, abandoning them to the SafetyNet folder on your backup volume.

If you have a habit of periodically deleting photos, music, or movies from Photos, iTunes, Aperture, or any other application that uses a proprietary bundle file format so that you can "free up some space on your startup disk", consider how those files will be organized on the destination. Specifically, keep in mind that you use a very elaborate application to access these files on the source volume, but you will only have the Finder to access these files on the backup volume.

CCC can't reorganize your deleted files in a way that's logical to you, it can only place them at the same path in the _CCC SafetyNet folder as they were on the source volume. For files buried in a bundle file on the source (as is the case for Photos, for example), this means that the files will be buried in bundle files in various time-stamped archive folders on the destination. These files will also be subject to deletion if you configure CCC to periodically prune the contents of the SafetyNet. In short, simply archiving deleted files from applications such as these isn't going to be the best way to store these items long-term if your goal is ultimately to keep them.

When you want to free up some space on your startup disk, consider this approach instead, using Photos as an example:

  1. Create a new folder at the root level of your backup volume, named something like "Archived Photos 2016".
  2. In Photos, delete all of the photos that you want to remove from your source volume. When you delete these items, they are placed in the Recently Deleted album.
  3. Click on the Recently Deleted album in the Photos sidebar and select all of the photos in that folder.
  4. Drag all of the selected photos from the Recently Deleted album to the "Archived Photos 2016" folder on the backup volume.
  5. Once the photos are safely copied to and neatly organized on the backup volume (and ideally, after you have made a second backup of these precious files on some other volume), go ahead and click the Delete All button in the Recently Deleted album.

Not all applications have this kind of internal Trash folder, so be sure to see how it works for other applications before applying these exact steps. The general idea, though, is that you should deliberately archive the items that you're removing from your source volume in a way that makes sense to you rather than passively allowing CCC to archive them in a manner that makes sense to the computer.

Why can't I delete some items from the SafetyNet folder? The Finder says that some items are in use.

In OS X El Capitan, Apple introduced a new feature called System Integrity Protection (SIP). SIP works by preventing any user from deleting certain protected system items on the startup disk. If you boot your Mac from a backup volume and restore system files to your startup disk, CCC will place outdated versions of those system files into the SafetyNet folder. These modifications are allowed because CCC is making changes to that volume while it is not the current startup disk. When you restart your computer from that destination volume, however, SIP re-engages and may then prevent you from deleting the protected items that were placed into the SafetyNet folder. If you attempt to delete these items, the Finder will report that they cannot be deleted because they are in use, or because they are protected. If you try to delete these items in the Terminal application, you'll get a more distinct error message, "Operation not permitted".

CCC won't have any trouble pruning the SafetyNet folder on its own during ordinary backup tasks. If you would like to remove an item from the SafetyNet manually, however, or if you would like to remove the entire folder:

  1. Choose Delete a SafetyNet folder from CCC's Utilities menu
  2. Drag the folder you want to delete onto the window that is presented. Alternatively, you can click on the drop zone in the window that is presented to make your selection from a navigation panel.
Delete a SafetyNet folder

If the item you're trying to remove is on your current startup disk, CCC will move the item to the root of your startup disk, then instruct you to boot your Mac from some other volume (e.g. your backup disk). Once booted from the backup volume, you can repeat the same steps with CCC to remove the SafetyNet folder.

If you're still having trouble after trying that, don't hesitate to ask us for help.

How can I prevent Migration Assistant from copying the CCC SafetyNet folder during a migration?

If your backup volume has a "_CCC SafetyNet" folder, you can move that folder to the Trash before using Migration Assistant to avoid copying that folder during a migration. This is particularly important if that folder has a lot of data in it and you're migrating to a disk that is smaller than the backup volume. If you would like to retain the SafetyNet folder on the backup volume, don't empty the Trash. After Migration Assistant has completed, then you can move the SafetyNet folder back to the root of the backup volume.

I have SafetyNet enabled, why can't I find a "_CCC SafetyNet" folder on the destination?

There are three primary reasons that the SafetyNet folder will be missing or difficult to find on the destination:

An empty SafetyNet folder will be removed at the end of the backup task

If CCC finds nothing to archive over the course of the backup task, the SafetyNet archive will be empty at the end of the backup task. If CCC finds that the SafetyNet archive is empty at the end of the task, CCC will remove it. Likewise, if the "_CCC SafetyNet" folder is subsequently empty, that folder will also be removed at the end of the backup task.

The Legacy SafetyNet folder is not used when snapshots are enabled on the destination

When snapshots are enabled on an APFS-formatted destination volume, CCC will implement the SafetyNet feature using snapshots rather than placing files into a separate folder on the destination. Select your destination volume in CCC's sidebar to find these SafetyNet snapshots.

The root level of an APFS Data volume is not visible in the Finder

CCC stores the SafetyNet at the root level of the destination. When you're making a backup of macOS Catalina or later, the destination will be an APFS Volume Group, and the SafetyNet will be placed at the root level of the Data member of that group. Root-level items of the Data volume are not immediately visible in the Finder. To reveal the SafetyNet folder on an APFS volume group, right-click on your CCC Backup - Data volume (for example) in CCC's sidebar and choose the Reveal in Finder option.

Related documentation

I selected "Don't delete anything", why is CCC placing items in the "_CCC SafetyNet" folder on the destination?

When you select the Don't delete anything SafetyNet setting, CCC applies that setting very literally. If CCC encounters a file on the destination that must be replaced with a newer version from the source, CCC cannot delete the older version of that file that is on the destination. That older file is instead placed into the "_CCC SafetyNet" folder on the destination.

Backing up to/from network volumes and other non-macOS-formatted volumes

$
0
0
Product: 
ccc5

In addition to backing up to volumes formatted with the macOS standard HFS+ or APFS format (collectively referred to as "macOS-formatted" from here forward), CCC can copy user data files to network volumes (e.g. AFP and SMB via macOS and Windows File Sharing) and to other non-macOS-formatted volumes such as FAT32. Non-macOS-formatted volumes are presented in CCC's Source and Destination selectors in the same manner as macOS-formatted volumes, so there are no special steps required for backing up to or from these filesystems. However, these filesystems offer limited support for macOS-filesystem features, so special consideration must be given when backing up to these volumes. In general, you can reasonably expect to back up user data — files that belong to your user account — to and from non-macOS-formatted volumes. Specific considerations are noted below.

You can mount network volumes in the Finder, or via the Mount a network volume... option in CCC's Utilities menu. Please note that network volumes mounted by third-party software is generally not supportable.

CCC will only back up system files to or from locally-attached macOS-formatted filesystems

macOS can only be installed on a macOS-formatted volume. This requirement is also carried to a backup volume. When system files are copied to or from non-macOS filesystems, important metadata are unavoidably lost, resulting in files that cannot be restored to their original functionality. In short, you cannot restore a functional installation of macOS from a backup stored on a non-macOS volume. To prevent any misunderstandings about this result, CCC will exclude system files from a backup task if the destination is not a locally-attached, macOS-formatted volume. Likewise, CCC will not copy system files from a network volume, e.g. if you were to mount the startup disk of another Mac via File Sharing, the system files on that network volume cannot be copied in a meaningful way.

Note that the "locally-attached" caveat is an important distinction. Even if your destination volume is macOS-formatted, if it is attached to an Airport Base Station (for example), then you're accessing the volume via file sharing. If you open the Get Info panel for the volume, you will see that the volume format is "AppleShare" or "SMB", not HFS+ or APFS. It is not possible to update an OS backup on a network volume.

Related Documentation

Ownership and permissions concerns

Network filesystems pose some interesting challenges in regards to preserving ownership and permissions. When you connect to another computer that is hosting a shared volume, you usually authenticate by providing a username and password. The account whose credentials you provide is an account on that other computer, and it is this account's privileges that determine what access you have to files and folders on the shared volume. Additionally, any files that are copied to the shared volume will be owned by that user account, regardless of the ownership of those files on the source volume. This is not a behavior specific to CCC, it is simply the nature of network filesystems.

An example will be very helpful in understanding the implications of this behavior. Suppose Sally would like to back up some Movies from her Mac's home folder to another Mac shared by Bob and Joe. On Sally's Mac, there is a user account named "sally". On Bob and Joe's Mac, File Sharing has been enabled in the Sharing Preference Pane, and there are two user accounts, "joe" and "bob". Bob has attached an external hard drive named "Backup" to his Mac that he and Joe have been using for backup, and he has created a folder named "Sally's Movies" on this volume to which Sally will copy files. Sally does the following to connect to Bob and Joe's Mac:

  1. In the Finder, open a new window, then click on "Bob and Joe's Mac" in the Shared section of the sidebar.
  2. Click on the Connect as... button.
  3. In the authentication dialog, provide Bob's username and password, then click on the Connect button.
  4. Choose the "Backup" volume from the list of shared volumes.

The Backup volume now appears on Sally's Desktop, and in CCC's Destination selector in the Network Volumes section. Next, Sally chooses Choose a folder... from CCC's Source selector and locates the folder of movies that she would like to copy to Bob and Joe's Mac. She then chooses Choose a folder... from the Destination selector and locates the "Sally's Movies" folder on the Backup network volume. She clicks the Clone button and the Movies are backed up.

Later that day, Joe is using his computer and he notices that he can see some of the movies in the "Sally's Movies" folder, but some of the subfolders have a universal "No access" badge and he cannot view those folders' contents. This occurred for two reasons:

  1. Sally mounted the network volume using Bob's credentials, so the files and folders created when she copied her files to the Backup volume are now owned by Bob's user account.
  2. Some of the folders on Sally's computer prevented access by "other" users.

As a result, the folders on the Backup volume are owned by Bob and some of them limit access to other users (Joe in this case). Joe asks Sally about this and she decides to try copying some of the movies to one of Joe's folders on the backup volume. When she chooses Choose a folder... from CCC's Destination menu, however, she sees the same universal "No Access" badge on Joe's folder. Sally can't copy files to this folder (nor can CCC) because the Backup volume was mounted using Bob's credentials, and Joe's backup folder on the backup volume happened to be inaccessible to Bob. Sally unmounts the backup volume and reconnects to it using Joe's credentials, and she is then able to copy files to Joe's private folder.

What can I do when there are permissions or ownership issues that prevent CCC from copying items to/from or updating items on a network volume?

First, it is important to keep in mind that no application can modify the ownership of a file or folder on a network share. Ownership changes must be applied on the computer or device that is hosting the network volume. Additionally, permissions changes can only be made to files and folders owned by the user whose credentials were used to mount the network volume. For this reason, it is generally easier to apply both ownership and permissions changes on the computer or device hosting the network volume.

If the computer hosting the network volume is a Mac, you can modify ownership and permissions in the Get Info panel for that folder (on the Mac hosting the network volume):

  1. In the Finder, click on the folder whose permissions or ownership you would like to change.
  2. Choose Get Info from the File menu.
  3. In the Sharing & Permissions section at the bottom, click on the lock icon to make the permissions editable.
  4. To change permissions, choose Read & Write from the popup menu next to the owner of the file or folder.
  5. If the owner of the item is not the user account that you use to connect to this Macintosh, click on the + button
  6. In the window that appears, select the user account that you use to connect to this Macintosh, then click the Select button.
  7. Set the access privileges to Read & Write.
  8. Click on the Gear menu and choose to apply the change to enclosed items.
  9. Try your backup task again.

If the computer or device that is hosting the network volume is not a Macintosh, consult that device's documentation to learn how to change permissions and ownership of files and folders.

Alternative #1: If you have mounted the network volume with Guest privileges, unmount and remount the network volume using the credentials of an account on the machine or device hosting the network volume.

Alternative #2: You can create a new folder on the shared volume and specify that folder as the destination in CCC by choosing Choose a folder... from the Destination selector.

Alternative #3: You can have CCC create a disk image on the network volume rather than copying files directly to a folder. When CCC creates a disk image on the destination, the disk image is formatted to match the source and attached locally, so CCC can preserve the permissions and ownership of the files that you are copying to it.

Limitations of non-macOS-formatted filesystems

When you choose a non-macOS-formatted volume as a destination, CCC's Cloning Coach will proactively warn you of any compatibility issues between the source and destination volumes. You can view the Cloning Coach's warnings by clicking on the yellow caution button in the Task Plan header. If you have selected a source and destination volume, and the caution button is not present, then there are no configuration concerns.

Support for third-party filesystems

CCC offers limited support for third-party filesystems, such as those provided by FUSE for OS X. Due to the large number of filesystems that can be provided by FUSE, CCC provides generic support for these "userland" filesystems rather than specific support. CCC takes a best effort approach by determining the capabilities of the source and destination filesystems, warns of potential incompatibilities, then presents only unexpected error conditions that arise during a backup.

Backing up to FUSE volumes mounted without the allow_root flag is not currently supported (e.g. Google Drive, BitCasa). Please contact the vendor of your proprietary filesystem to ask that they offer the ability to mount the volume with the allow_root flag if you would like to use that volume as a source or destination to a CCC backup task.

Support for Google Drive is "best effort". We've seen odd behavior when selecting Google Drive File Stream volumes as a whole as the source or destination for a task – CCC is unable to read the root folder during a backup task. CCC explicitly disallows that configuration. Selecting a subfolder on the Google Drive volume often works, and CCC will not disallow that configuration, however we frequently receive reports of inconsistent results when backing up to Google Drive, so we cannot offer support for this configuration.

There is one other notable concern with Google Drive File Stream – Google Drive will download files when they are accessed if they do not currently reside on your Mac's hard drive. If you specify a Google Drive folder as the source to a backup task, you should anticipate that cloud-only files may be downloaded to your Mac during the backup task. That behavior lies outside of CCC's purview, it cannot be modified with a CCC task setting.

The Western Digital MyCloud Home NAS device is another special case. The "Home" model of this NAS device requires the use of WD-proprietary software to access the storage securely; direct access to the storage via SMB is only available with Guest privileges. Users report that performance of the storage while using WD's software is subpar in comparison to Guest access via SMB, and other users have reported to us that macOS is unable to create or mount disk images on the storage when mounted via Western Digital's software. When you mount WD MyCloud Home NAS storage using WD's software, the volume is vended by a 'kddfuse' filesystem. CCC won't allow these volumes as a source or destination device. To back up to a WD MyCloud Home NAS, mount the storage via SMB in the Finder instead. Be sure to choose the "Guest" user option when prompted to authenticate, because the MyCloud Home device doesn't support authenticated access via SMB.

Writable NTFS filesystems

We have seen several reports of problems copying large amounts of data (e.g. > 4GB) to writable NTFS filesystems. In most cases, the underlying software that vends the filesystem (e.g. Tuxera, Paragon, and others) crashes and the volume is rendered "mute". While it may be possible to complete a backup to these filesystems in chunks (e.g. 4GB at a time), we recommend using a more reliable, writable filesystem if you encounter these problems.

Related Documentation

Backing up a Boot Camp installation of Windows

CCC can back up the user data on a Boot Camp volume, but it cannot make an installation of Windows bootable. If your goal is to back up your user data on the Boot Camp volume, CCC will meet your needs. If you're looking to migrate your Boot Camp volume to a new hard drive, you might consider an alternative solution such as WinClone, or one of the commercial virtualization solutions that offer a migration strategy from Boot Camp.

Backing up the contents of an NTFS volume

The NTFS filesystem supports "named streams", a feature that is comparable to extended attributes on macOS-formatted volumes and many other filesystems. Unlike extended attributes, however, there is no limit to the amount of data that can be stuffed into NTFS named streams (aside from standard file size limitations). Extended attributes on macOS have a 128KB size limit. As a result, any attempts to copy a named stream larger than 128KB to a non-NTFS filesystem will fail. CCC will copy the standard file data just fine, but will not copy named streams larger than 128KB. CCC's Cloning Coach will warn of this kind of incompatibility, and any errors related to this limitation will be logged to the CCC log file, however these errors will not be raised to your attention.

This limitation applies when copying files between volumes on Windows as well, so application developers tend to use named streams only for data that can be regenerated (e.g. thumbnail icons, summary or statistical information), not for storage of irreplaceable user data.

NAS service failures can lead to unreliable backups

Access to the contents of a network volume is provided by an application that runs on another computer or Network Attached Storage (NAS) device. Every NAS device and operating system has its own vendor-specific version of the file sharing application, so we occasionally see problems with some NAS devices that don't occur on others. Problems can be minor, such as being unable to set file flags (e.g. hidden, locked) on an item, or more significant, like not being able to store or retrieve resource forks. When these problems are encountered during a backup task, CCC will copy as many files and as much data as possible, then offer a report on the items or attributes that could not be copied.

When you encounter an error caused by the file sharing service that hosts your network volume, there are a few workarounds that you can try to avoid the errors:

  • Eject the network volume on your Mac, then restart the computer or NAS device that is hosting the network volume. Reconnect to the network volume and try the backup task again.
  • Connect to the network volume using a different protocol. A different application is responsible for each protocol, so if the AFP service on your server has a bug, connecting to the SMB service may work more reliably (and vice versa). Choose Connect to server from the Finder's Go menu, then specify "smb://servername.local/volume" or "afp://servername.local/volume" to connect to the server using a different protocol. If you are unsure which protocol you are currently using, click on the mounted volume in the Finder, then choose Get Info from the Finder's File menu to find out.
  • If the errors persist when connecting to the network volume via both AFP and SMB, and restarting the file server does not change the outcome, then we recommend that you back up to locally-attached storage instead.

Some NAS services cope poorly with files and folders with special characters

Some NAS file sharing services will automatically rename files to "DOS compatible" names, or simply issue errors when working with various file names. In particular, files or folders that start or end with a space character, or names that contain a colon character (":") are unacceptable. When the file sharing service encounters files or folders with these disallowed characters, it will automatically rename these items, e.g. " filename.txt" would become "_1CZVG~B". This "mangling" of file and folder names inevitably leads to errors during a backup task. To avoid these errors, you should either rename the offending files on the source, or connect to the NAS device using AFP rather than SMB (if applicable). Choose Connect to server from the Finder's Go menu, then specify "afp://servername.local/volume" to connect to the server using a different protocol.

Possible workaround: If you can modify the configuration of the SMB file sharing service on your NAS, then you may be able to prevent the service from "mangling" these file names. The applicable setting is documented here.

Another common issue that people encounter when copying files to a NAS volume is errors that are the result of a name restriction. For example, Synology NAS devices (and many others) disallow file names that start with .lock, CON, PRN, AUX, NUL, COM0 - COM9, LPT0 - LPT9, _vti_, desktop.ini, any filename starting with ~$. These NAS devices often produce bogus error codes in these cases, e.g. "File name too long". Some NAS devices have specific character restrictions as well, e.g. NAS devices that follow the Microsoft OneDrive naming conventions, which exclude " * : < > ? / \ |, and leading and trailing spaces in file or folder names also aren't allowed.

Frequently asked questions about the Carbon Copy Cloner SafetyNet folder

$
0
0
Product: 
ccc5

Note: The topics in this article are not relevant to APFS-formatted destination volumes that have CCC snapshot support enabled. For those volumes, CCC leverages snapshots to implement the SafetyNet functionality, and the snapshots aren't affected by any of the shortcomings described here.

How do I restore files from the _CCC SafetyNet folder?

CCC's SafetyNet folder ("_CCC SafetyNet") is excluded from CCC's backup tasks by default because it contains older versions of modified files, and files that were deleted from the source volume. Typically when you restore data from your backup volume, you will want to avoid restoring the items in this folder, choosing instead to restore the most recent backup of your files.

If there is something that you would like to restore from the CCC SafetyNet folder, a drag and drop restore in the Finder is usually the easiest way to do so. If you would like to restore many items, or merge them into an existing folder, choose Choose a folder... from CCC's Source selector and choose the folder from which you would like to restore. If you choose the _CCC SafetyNet folder as the source, note that the full path to your archived files will be preserved, e.g. 2017-07-27 (July 27) 14-11-18/Users/fred/Documents/some file.pdf. In most cases, you will want to choose a subfolder within the archives folder as your source. Likewise, choose Choose a folder... from CCC's Destination selector and select the specific folder that you want to restore items into.

Why can't I open some files in the _CCC SafetyNet folder?

When CCC evaluates the items on your destination and determines whether they should be archived or left in place, it does so on a file-by-file basis. This poses a challenge for bundle files — files that are actually a folder of files, but presented by the Finder as a single file. As a result, bundle files (e.g. applications, some types of libraries, some custom file types) may appear in an incomplete form within the CCC SafetyNet folder.

Unless all of the components within a bundle file are modified, only the items that have been updated will be present. Incomplete bundle files are generally not useful on their own, but their contents can be. For example, if you accidentally deleted a photo from your iPhoto library, you would be able to recover that lost photo from the archived iPhoto library bundle. To reveal the content of an incomplete bundle file in a CCC SafetyNet folder, right-click (or Control+click) on the item and choose Show package contents from the contextual menu.

SafetyNet is a safety mechanism, it was not designed for providing access to older versions of files. If you would like access to older versions of files on your APFS-formatted backup disk, we recommend that you enable snapshot support on that volume.

Can I restore a previous version of the OS using one of the archives in the _CCC SafetyNet folder?

No. CCC's SafetyNet folder is not intended to offer a method for rolling back software updates, OS restores should always be done from the complete backup at the root level of your destination, or from a snapshot.

I deleted files from my startup disk to make more room, but now it's hard to find some of those files on my backup volume

This generally isn't a concern for ordinary "flat" file types, but it it can be a concern for certain applications that store lots of files in a single, monolithic-appearing container file. Some applications offer highly customized interfaces to access a specific file type. Photos, for example, allows you to manage tens of thousands of photo files. These files are all stored in a proprietary bundle file in your home folder, but because photos are so easy to organize within Photos, many people don't consider how those files are organized on the hard drive. Usually you really don't have to either. That is, of course, until you can no longer use Photos to access your photo files, and that's exactly what happens when you delete files from your Photos library, abandoning them to the SafetyNet folder on your backup volume.

If you have a habit of periodically deleting photos, music, or movies from Photos, iTunes, Aperture, or any other application that uses a proprietary bundle file format so that you can "free up some space on your startup disk", consider how those files will be organized on the destination. Specifically, keep in mind that you use a very elaborate application to access these files on the source volume, but you will only have the Finder to access these files on the backup volume.

CCC can't reorganize your deleted files in a way that's logical to you, it can only place them at the same path in the _CCC SafetyNet folder as they were on the source volume. For files buried in a bundle file on the source (as is the case for Photos, for example), this means that the files will be buried in bundle files in various time-stamped archive folders on the destination. These files will also be subject to deletion if you configure CCC to periodically prune the contents of the SafetyNet. In short, simply archiving deleted files from applications such as these isn't going to be the best way to store these items long-term if your goal is ultimately to keep them.

When you want to free up some space on your startup disk, consider this approach instead, using Photos as an example:

  1. Create a new folder at the root level of your backup volume, named something like "Archived Photos 2016".
  2. In Photos, delete all of the photos that you want to remove from your source volume. When you delete these items, they are placed in the Recently Deleted album.
  3. Click on the Recently Deleted album in the Photos sidebar and select all of the photos in that folder.
  4. Drag all of the selected photos from the Recently Deleted album to the "Archived Photos 2016" folder on the backup volume.
  5. Once the photos are safely copied to and neatly organized on the backup volume (and ideally, after you have made a second backup of these precious files on some other volume), go ahead and click the Delete All button in the Recently Deleted album.

Not all applications have this kind of internal Trash folder, so be sure to see how it works for other applications before applying these exact steps. The general idea, though, is that you should deliberately archive the items that you're removing from your source volume in a way that makes sense to you rather than passively allowing CCC to archive them in a manner that makes sense to the computer.

Why can't I delete some items from the SafetyNet folder? The Finder says that some items are in use.

In OS X El Capitan, Apple introduced a new feature called System Integrity Protection (SIP). SIP works by preventing any user from deleting certain protected system items on the startup disk. If you boot your Mac from a backup volume and restore system files to your startup disk, CCC will place outdated versions of those system files into the SafetyNet folder. These modifications are allowed because CCC is making changes to that volume while it is not the current startup disk. When you restart your computer from that destination volume, however, SIP re-engages and may then prevent you from deleting the protected items that were placed into the SafetyNet folder. If you attempt to delete these items, the Finder will report that they cannot be deleted because they are in use, or because they are protected. If you try to delete these items in the Terminal application, you'll get a more distinct error message, "Operation not permitted".

CCC won't have any trouble pruning the SafetyNet folder on its own during ordinary backup tasks. If you would like to remove an item from the SafetyNet manually, however, or if you would like to remove the entire folder:

  1. Choose Delete a SafetyNet folder from CCC's Utilities menu
  2. Drag the folder you want to delete onto the window that is presented. Alternatively, you can click on the drop zone in the window that is presented to make your selection from a navigation panel.
Delete a SafetyNet folder

If the item you're trying to remove is on your current startup disk, CCC will move the item to the root of your startup disk, then instruct you to boot your Mac from some other volume (e.g. your backup disk). Once booted from the backup volume, you can repeat the same steps with CCC to remove the SafetyNet folder.

If you're still having trouble after trying that, don't hesitate to ask us for help.

How can I prevent Migration Assistant from copying the CCC SafetyNet folder during a migration?

If your backup volume has a "_CCC SafetyNet" folder, you can move that folder to the Trash before using Migration Assistant to avoid copying that folder during a migration. This is particularly important if that folder has a lot of data in it and you're migrating to a disk that is smaller than the backup volume. If you would like to retain the SafetyNet folder on the backup volume, don't empty the Trash. After Migration Assistant has completed, then you can move the SafetyNet folder back to the root of the backup volume.

I have SafetyNet enabled, why can't I find a "_CCC SafetyNet" folder on the destination?

There are three primary reasons that the SafetyNet folder will be missing or difficult to find on the destination:

An empty SafetyNet folder will be removed at the end of the backup task

If CCC finds nothing to archive over the course of the backup task, the SafetyNet archive will be empty at the end of the backup task. If CCC finds that the SafetyNet archive is empty at the end of the task, CCC will remove it. Likewise, if the "_CCC SafetyNet" folder is subsequently empty, that folder will also be removed at the end of the backup task.

The Legacy SafetyNet folder is not used when snapshots are enabled on the destination

When snapshots are enabled on an APFS-formatted destination volume, CCC will implement the SafetyNet feature using snapshots rather than placing files into a separate folder on the destination. Select your destination volume in CCC's sidebar to find these SafetyNet snapshots.

The root level of an APFS Data volume is not visible in the Finder

CCC stores the SafetyNet at the root level of the destination. When you're making a backup of macOS Catalina or later, the destination will be an APFS Volume Group, and the SafetyNet will be placed at the root level of the Data member of that group. Root-level items of the Data volume are not immediately visible in the Finder. To reveal the SafetyNet folder on an APFS volume group, right-click on your CCC Backup - Data volume (for example) in CCC's sidebar and choose the Reveal in Finder option.

Related documentation

I selected "Don't delete anything", why is CCC placing items in the "_CCC SafetyNet" folder on the destination?

When you select the Don't delete anything SafetyNet setting, CCC applies that setting very literally. If CCC encounters a file on the destination that must be replaced with a newer version from the source, CCC cannot delete the older version of that file that is on the destination. That older file is instead placed into the "_CCC SafetyNet" folder on the destination.

Working with FileVault Encryption

$
0
0
Product: 
ccc5

CCC is fully qualified for use with FileVault-protected volumes (HFS+ and APFS). CCC offers some advice around enabling encryption in the Disk Center.

Enabling encryption on a volume that contains (or will contain) an installation of macOS

If your goal is to create a bootable, encrypted backup, use the following procedure:

  1. Follow CCC's documentation to properly format the destination volume. Do not format the volume as encrypted. Choose APFS if your Mac is a T2 Mac (e.g. iMac Pro, 2018 MacBook Pro; see the full list here).
  2. Use CCC to back up your startup disk to the unencrypted destination volume.
  3. If you're running an OS older than Mojave, select the destination volume in CCC's sidebar, then click the Recovery HD button to create a Recovery HD volume. Note: You must be logged in to an administrator account to perform this step. This step is unnecessary if your destination is an APFS-formatted volume.
  4. Hold down the Option key (Intel Macs) or the Power button (Apple Silicon Macs) while restarting your Mac and choose the backup volume as the startup disk.
  5. Enable FileVault encryption in the Security & Privacy preference pane of the System Preferences application.
  6. Configure CCC for regular backups to your encrypted backup volume.

You do not have to wait for the conversion process to complete before rebooting from your production startup disk

Additionally, you do not have to wait for the conversion process to complete before using your backup disk. You can simply enable FileVault encryption, then immediately reboot from your primary startup disk and the conversion process will carry on in the background. Encryption will continue as long as the backup disk is attached. macOS doesn't offer a convenient method to see conversion progress, but you can type diskutil apfs list (or diskutil cs list if the applicable volume is HFS+ formatted) in the Terminal application to see conversion progress. Some users have found that conversion may not resume until you log in to an admin account while booted from your production startup volume, so try that if conversion appears to be stalled.

Keep your Mac plugged into AC power for the duration of encryption conversion

We have received a handful of reports from macOS Catalina users indicating that encryption conversion remains permanently paused if AC power is removed during the encryption conversion process. We have been unable to reproduce this result in our test lab — typically encryption conversion pauses when AC power is removed, but then resumes when AC power is restored. The number of reports to us, however, suggests that there is some underlying problem that may be new to macOS Catalina. To avoid this result, we recommend that you keep your Mac plugged in to AC power for the duration of encryption conversion. If you see an indication that encryption conversion is paused, try leaving the system plugged into AC overnight.

What if I don't want my personal data to ever be on the destination in unencrypted form?

Enabling FileVault on the destination means that the volume starts out unencrypted, and then over the course of several hours the data is encrypted in place. If the encryption conversion process completes successfully, then for most intents and purposes, no trace of the unencrypted data will be left on that disk. There are some caveats however. If your backup volume is an SSD, and if you delete files from the SSD prior to enabling encryption, then the SSD may automatically move the not-yet-encrypted underlying blocks out of rotation (for wear leveling), and those data could be recoverable by experts. Likewise, if the conversion process fails for any reason, then the data on that disk is potentially recoverable. If either of these scenarios is not acceptable, then we recommend that you exclude any sensitive data from the initial backup task. Don't exclude your whole home folder — you must include at least one folder from your home directory so that you can log in to that account on the backup.

After you have booted from the backup volume and enabled FileVault, you can then reboot from the production startup disk, remove the exclusions from your backup task, then run the backup task again to copy the remainder of your data. Any data that is copied to a volume that is in the midst of encryption conversion will be encrypted immediately.

Note for Big Sur users: When prompted to erase the destination, proceed with a Data-only backup instead. You will not be able to exclude content from a Full Volume Clone. After the initial backup has completed, proceed to install Big Sur onto the destination. After installation has completed, enable FileVault, then reboot from your production startup disk and run your CCC backup task again without the exclusions.

Enabling encryption on a volume that will not contain an installation of macOS

If your backup volume won't be a bootable backup of macOS, simply right-click on that volume in the Finder and choose the option to encrypt the volume. If your Mac is running macOS High Sierra or later, please note that macOS will convert an HFS+ formatted volume to APFS when you enable encryption in this manner.

Finder option

Related Documentation


Frequently asked questions about scheduled tasks

$
0
0
Product: 
ccc5

Does CCC have to be running for a scheduled task to run?

No. Once you have saved your tasks, you can quit CCC. Even if tasks are running, it's OK to quit CCC -- they will continue to run. A helper application, named "com.bombich.ccchelper" will be running quietly in the background, handling task operations. This helper application also loads automatically when you restart your computer, so you don't have to launch CCC again unless you want to make changes to your task configurations or scheduling.

What happens if no one is logged in when a task is scheduled to run?

The scheduled task will run whether someone is logged in to the machine or not. You can also log in or log out while tasks are running and the tasks will continue to run.

Will CCC run when the computer is turned off?

By default, any scheduled events that elapse when the computer is off will be skipped, and those tasks will run at their next scheduled run time. If you would like to schedule a task to occur when the system is typically powered off, choose the "Wake or power on the system" option from the System Sleep popup menu in the CCC Scheduler. With that configuration, CCC will schedule a "Wake or power on" event with the Power Management service and your system will turn on shortly before the task is scheduled to run. 

FileVault exception

There is one notable exception to powering on the system for a scheduled task: If you have FileVault enabled on your startup disk, your computer would turn on, but it would not proceed past the FileVault authentication prompt. It is not possible for CCC to subvert this security feature, so the Wake or power on the system option will be disabled if FileVault is enabled on your startup disk. This limitation is applicable only when the system is turned off; CCC can wake a system with FileVault protection enabled and proceed to run a backup task.

Related Documentation

Will CCC run when the my laptop's lid is closed?

If your laptop is running on battery power, the system will not wake while the lid is closed and CCC backup tasks will not run. If your laptop is plugged in to AC power, then CCC can wake the system to start your scheduled task if the lid is closed. See the section above for the settings that indicate whether a task can wake the system.

How is system sleep handled?

By default, CCC will wake your computer when your tasks are scheduled to run. You can change this setting in the Runtime Conditions section when scheduling a task. As long as your Mac is running on AC power, CCC will prevent the system from sleeping for the duration of a backup task.

Related Documentation

Why does my laptop sometimes go to sleep during a backup task?

If your Mac is a laptop, note that CCC will only be able to wake the system or prevent idle sleep if the system is running on AC power. CCC will attempt to thwart sleep while the system is running on battery power, but macOS may sleep the system anyway if there is no user activity while running on battery power.

Why does my screen turn on shortly before a backup task starts?

By default, CCC schedules a wake event to occur 20 seconds before a scheduled task is configured to run. Whether the system is sleeping or not, macOS turns on the display when a scheduled wake event occurs, and there is nothing that CCC can do to prevent this. If you prefer that your display does not turn on, e.g. in the middle of the night, use the Run this task when the system next wakes setting instead to have CCC tasks run during macOS Dark Wake cycles (aka PowerNap, aka Maintenance Wake).

What if the backup disk is not available when a task is scheduled to run?

If your backup disk is attached to your Mac and unmounted, CCC will attempt to mount the backup volume, then proceed with the backup task if that is successful. If the volume cannot be mounted or is not attached to your Mac, CCC will, by default, report an error, then run the task immediately when the backup disk is reattached to your Mac. You can fine-tune CCC's handling of this scenario using the options at the bottom of the Scheduler panel.

Can I stop a backup task before it finishes?

Yes, you can stop the backup task at any time. The next time you run the backup task, CCC will copy only the files that have changed or were missed since the last backup task.

How can I disable/suspend a task?

If CCC's sidebar is not revealed, reveal it by choosing Show Sidebar from CCC's View menu. To disable a task, right-click on that task in the sidebar and choose Disable from the contextual menu. Use the same procedure to re-enable the task. If you would like to disable all tasks, choose Disable all tasks... from the CCC menubar application, or hold down Command+Option and choose Disable All Tasks & Quit from the Carbon Copy Cloner menu.

Can I configure a task to run immediately after the computer is turned on?

CCC doesn't offer an option specifically to run tasks on startup. Running a task immediately after the system is turned on often introduces a lot of extra disk activity that will compete with the disk activity that occurs normally during system startup. Also, it makes less sense to run backup tasks after the computer has been off, because no files have been modified while the system was off. We recommend configuring backup tasks to run sometime toward the end of your work day instead. You can also configure the task to shut down your Mac when the task completes.

If your work day does not end at a regular time, but begins at a fairly consistent time, then there may be one other option available to you. You can configure a backup task to run before your work day begins, and then configure that task to "Wake or power on the system". CCC will then schedule a "wake or power on" energy saver event, and then after the system powers on at that time, CCC will run your scheduled task. Note that this option is not available if you have FileVault enabled on your Mac's startup disk.

Related Documentation

Advanced Settings

$
0
0
Product: 
ccc5

CCC's Advanced Settings are helpful in specific situations, but are not generally required for routine use. Some of these settings involve more risk, so please use them with caution, and don't hesitate to ask questions via the Ask a question about CCC... menu item in CCC's Help menu if the explanations below are insufficient for your particular scenario.

To access the advanced settings, click on the Advanced Settings button below CCC's Source selector.

Advanced settings button

Use strict volume identification

By default, CCC uses the name and Universally Unique Identifier (UUID) of your source and destination to positively identify those volumes. By verifying both of these identifiers, there is less risk in, for example, backing up to a volume that has the same name as your usual destination but is not actually the destination.

While beneficial, this behavior can sometimes have the wrong result. For example, if you rotate between a pair of external hard drives, CCC will not backup to both of them even though they have the same name (e.g. Offsite Backup). CCC will instead claim that the UUID of one of the volumes does not match that of the originally chosen destination.

To accommodate a "rotating pair of backup volumes" solution, you can uncheck this option to indicate that CCC should only use the volume name to identify the destination volume. When deselecting this option, be vigilant that you do not rename your destination volume and that you never attach another non-backup volume to your Mac that is named the same as your destination volume.

This option is automatically disabled when the destination volume does not have a UUID. Network volumes and some third-party filesystems, for example, do not have volume UUIDs. This option is also disabled if the originally-selected destination device is not attached.

Note: This setting is only applicable to the destination volume. CCC always uses the name and UUID to positively identify the source volume.

Note: If your rotating destination volumes are encrypted, CCC will only be able to unlock and mount the original encrypted volume selected as the destination for your backup task. CCC must have a unique identifier of the destination volume in order to unlock that volume, and CCC will only retain that information about one destination volume for a particular task. If you would like to rotate a pair of backup disks that are encrypted, we recommend using two separate tasks for that purpose; one for each encrypted destination.

Protect root-level items

If you have files and folders that are unique to the root-level on your destination volume and you want them to be left alone, yet you want to keep your backup "clean", use the Protect root-level items option. This option is enabled by default when CCC's SafetyNet option is enabled. To understand how this feature works, suppose you have these items on your source volume:

And you have these items on the destination volume:

With the Protect root-level items option, the Videos folder will not be moved to the _CCC SafetyNet folder because it is unique to the root level of the destination. The Users folder is not unique to the root of the destination (it also exists on the source), though, so its contents will be updated to match the source. As a result, the olduseraccount folder will be moved to the _CCC SafetyNet folder (or deleted if you have disabled the SafetyNet).

The "root" of the destination refers to the first or top-most folder relative to your selected destination. If you selected a volume named CCC Backup as the destination, then the root level refers to the root of the volume — what you see when you open that volume in the Finder (the middle pane in the screenshot above). If you selected a folder as the destination for your task, then the "items at the root of the destination" refers to the items that you find in that specific folder that you selected as the destination, not the root of the whole volume. When you select a folder as the destination, anything outside of that folder is completely outside of the scope of the backup task, and will be left alone by that particular backup task.

Find and replace corrupted files, "Backup Health Check"

CCC normally uses file size and modification date to determine whether a file should be copied. With this option, CCC will calculate an MD5 checksum of every file on the source and every corresponding file on the destination. If the checksums differ, CCC will recopy the file. This option will increase your backup time (because CCC is tasked with re-reading every file on the source and destination), but it will expose any corrupted files within your backup set on the source and destination.

Media failures occur on nearly every hard drive at some point in the hard drive's life. These errors affect your data randomly, and go undetected until an attempt is made to read data from the failed sector of media. If a file has not been modified since a previous (successful) backup, CCC will not ordinarily attempt to read every byte of that file's content. As a result, it is possible for a corrupted file to go unnoticed on your source or destination volume. Obviously this is a concern if the file is important, and one day you actually need to recover the contents of that file.

Frequent use of the checksum calculation option is unnecessary and may be a burden upon your productivity, so CCC offers weekly and monthly options to limit how frequently the checksumming occurs. 

Note: CCC will never replace a valid file on your destination with an unreadable, corrupt file from the source. If CCC cannot read a file on your source volume, any existing backup of that file will remain intact on your backup volume and CCC will report an error, advising you to replace the source file with the intact backup version. The Find and replace corrupted files setting will only automatically replace corrupted files on the destination, and only when the source file is completely readable.

What is a "corrupted" or "unreadable" file?

With regard to files on the source, CCC's Find and replace corrupted files option specifically refers to files that cannot be physically read from the disk. It does not refer to files that have been mistakenly or maliciously altered such that they cannot be opened by the application that created them.

Using the "Find and replace corrupted files" option to verify your backup

CCC's checksum option verifies the integrity of the files on your destination volume before files are copied, it is not a verification of files that have just been written. In general, the checksum of a file immediately after it is written to disk is of questionable value. Most disks have a write cache, and file data goes to the cache before it is written to actual media. If you write a file and then immediately ask to read it back, as much as x amount of data (where x = the size of the cache) is going to come from the volatile cache. If any of the file's data comes from the write cache, then the checksum doesn't reflect the status of the data on the permanent media, and that really defeats the purpose of checksumming the file in the first place.

If you want to verify the integrity of the files on your destination immediately after copying files, a subsequent backup with CCC's Find and replace corrupted files option is the best way to do that. You can even automate this process by creating a second task that uses this option, then select the second task in the "Run another backup task" popup menu in the After task runs section of advanced settings.

Troubleshooting Options

Run a deletion pass first

When the CCC SafetyNet option is disabled, CCC typically deletes unique items from the destination as it encounters them. CCC iterates through the folders on your source alphabetically, so some files are often copied to the destination before all of the files that will be deleted have been deleted from the destination. If your destination volume has very little free space, CCC may not be able to complete a backup to that volume. This option will cause CCC to run a deletion pass through the entire destination before copying files. Use of this option will make your backup task take longer.

This option will only be enabled when the SafetyNet option is disabled.

Don't update newer files on the destination

Files on the source are generally considered to be the authoritative master, and CCC will recopy a file if the modification date is at all different — newer or older — on the source and destination. Occasionally there are circumstances where the modification date of files on the destination is altered after a backup task runs (e.g. by anti-virus applications), and this alteration causes CCC to copy these files every time. This option can work around these circumstances when the root cause of the modification date alteration cannot be addressed.

Don't preserve permissions

This setting will avoid the errors generated by network volumes that disallow the modification of permissions and ownership on some files. It will also prevent CCC from enabling ownership on the destination volume. Use of this option while backing up applications or macOS system files will prevent those items from working correctly on the destination.

Don't preserve extended attributes

This setting will disable support for reading and writing extended attributes, such as Finder Info, resource forks, and other application-proprietary attributes. Extended attributes store data about the file. Apple explicitly recommends that developers do not store irreplaceable user data in extended attributes when saving a file, because extended attributes are not supported by every filesystem, and could be silently dropped (e.g. by the Finder) when copying a file.

This option is helpful in cases where the source or destination filesystem offers exceptionally poor performance for reading and writing extended attributes, or offers very limited support for macOS native extended attributes such that many errors are reported when trying to copy these metadata.

Related Documentation

Performing actions Before and After the backup task

$
0
0
Product: 
ccc6

Often when you have a backup task that runs on a scheduled basis, there are associated tasks that you would like to perform before or after files are actually copied. CCC offers the option to run shell scripts before and after a backup task, unmount or set the destination as the startup disk, run another CCC backup task, and power management options such as restart and shutdown. If you would like to perform any of these pre- or postflight tasks, click the Advanced Settings button at the bottom of CCC's main window.

Mounting the source or destination volume before a backup task begins

Without any additional configuration, CCC will attempt to mount your source and destination volumes before a backup task begins. This applies to many different volume types — ordinary volumes on locally-attached hard drives, disk images, network volumes, encrypted volumes – even encrypted volumes on remote Macs. If your source or destination volume is on a disk that is physically attached to your Mac (e.g. via Thunderbolt or USB), but it is not mounted, CCC can "see" that device and will attempt to mount it. If your source or destination is a network volume, CCC will obtain the credentials that you use to mount that device when you create the backup task, and will use those credentials to mount the volume before the task begins.

This also applies for nested volumes. For example, suppose you are backing up to a disk image on a network volume. CCC will first attempt to mount the network volume, then it will attempt to mount the disk image. Likewise, suppose you have a task configured to back up the contents of a folder on an encrypted volume. If you have saved the encrypted volume's passphrase in CCC's keychain, CCC will unlock and mount the encrypted volume before the backup task begins.

CCC's attempts to mount the source and destination volumes occur automatically before any other tasks, including preflight shell scripts (described below), therefore it is not necessary to implement a shell script to pre-mount the source or destination.

Little Snitch may prevent the automated mounting of network volumes

If you're using Little Snitch to monitor and filter your inbound and outbound network traffic, you may find that CCC has trouble automatically mounting a network volume. If you run into this problem, configure Little Snitch to allow network access to the NetAuthSysAgent system service. NetAuthSysAgent is the macOS system service that fulfills application requests to mount network volumes.

SafetyNet Pruning

SafetyNet pruning is covered in more detail in this section of CCC's documentation.

Destination volume options

If you would like CCC to unmount your destination volume at the end of the backup task, choose Unmount the destination volume from the Destination volume management menu. If your destination is a folder, the text will be Unmount the underlying volume. If the destination is a disk image, CCC always unmounts the disk image volume, so this setting refers to the underlying physical volume upon which the disk image resides.

If an application has open files on the destination volume, CCC's attempt to unmount the volume will fail. CCC does not report this as a task failure, though it will make a note of the event in the Errors tab of the Task History window.

Power management options

By default, at the end of a backup task, CCC will not perform any power management tasks. Instead, the system will perform as defined by the settings in the Energy Saver preference pane. For example, if you have the system configured to idle sleep after 20 minutes, the system will go to sleep if there hasn't been any user activity in the last 20 minutes. CCC activity is not considered user activity, so often the system will go to sleep immediately after CCC finishes a backup task.

If you choose one of the options from the Power management menu, CCC will reboot or shut down your Mac when the backup task finishes. The reboot and shutdown options are not forceful. If you have a document open with unsaved modifications, for example, the application would prompt you to save the document. If a save dialog is not attended to, the shutdown or reboot request will time out.

Turn off the computer if it was previously off

If your backup task is scheduled to run on a regular basis, this option will be enabled in the Power Management popup menu. This option is applicable if you would like to have CCC shut down your Mac at the end of the task, but only in cases where the Mac was booted at the task's scheduled run time. If your backup task runs when the system has been on for a while or has been sleeping, CCC will not shut down the Mac when using this option.

Power Management options are ignored in some cases

Power management options will not be applied to backup tasks that are cancelled (e.g. you click the Stop button). Additionally, power management tasks will not be applied if other CCC backup tasks are running or queued to run immediately after the current task finishes running. If your task is running as part of a Task Group, power management options will be deferred to when all tasks within the group have completed.

Power Management options are applied regardless of task success

Power management options will be applied whether the backup task completes successfully or not. If you prefer for a backup task to perform the power management action only when the backup task exits without error, see the pm_on_success.sh postflight script below.

Run another backup task (task chaining)

If you have more than one CCC backup task configured, the other tasks will be listed in this popup menu. To create a task chain (e.g. to run tasks sequentially), simply choose one of these tasks to have that task run automatically after the current task finishes. Tasks run in this manner will start after the current task has finished completely. Chained tasks will run regardless of the exit status of a preceding task in the chain, e.g. if the first task reports errors or fails to run at all, the second task will still run. Only the first task in a chain needs to be scheduled to start the chain.

Note: Postflight tasks will not be started if the current task was started via a task group. When you run a task group, we're specifically aiming to run exactly the tasks within that task group, and within the order specified. If you run the task manually, however, or if the task is run separately from the group on its own schedule, then the task's postflight task will be run.

Running shell scripts before and after the backup task

If there is functionality that you need that does not exist within CCC, pre- and postflight shell scripts may be the solution for you. Preflight shell scripts run after CCC has performed "sanity" checks (e.g. are the source and destination volumes present, is connectivity to a remote Macintosh established) but before copying files. If you need your preflight script to run before CCC does the source/destination sanity checks, specify the preflight script as a global preflight script in the Advanced section of CCC's Preferences window. Note that global preflight scripts run prior to every task, they are not task-specific. Also, please bear in mind that CCC automatically attempts to mount the source and destination at the beginning of the task, you should not be implementing a shell script to achieve that functionality. If you're having trouble with CCC pre-mounting the source and destination, please ask us for help rather than attempt to address the issue with a preflight shell script.

Postflight shell scripts run after CCC has finished copying files and performing its own internal cleanup, but before unmounting any volumes.

CCC passes several parameters to pre- and postflight shell scripts. For example, the following shell script:

#!/bin/sh

echo "Running $0"
echo `date`
echo "Source: $1"
echo "Destination: $2"
echo "Third argument: $3" # Exit status for postflight scripts, underlying volume path for a disk image for preflight scripts
echo "Fourth argument: $4" # Destination disk image path, if applicable

Would produce the following output (you can redirect this output to a file of your own specification) if implemented as a postflight script:

Running /Library/Application Support/com.bombich.ccc/Scripts/postaction.sh
Wed Oct 8 21:55:28 EDT 2014
Source: /
Destination: /Volumes/Offsite Backup
Third argument: 0
Fourth argument:

First parameter

The path to the source volume or folder. If the source volume is APFS-formatted, then this path will usually be the path to a temporary, read-only snapshot of the source (or the path to the source folder on the temporary, read-only snapshot). On macOS Catalina and later, if the source volume is a System volume, CCC will send the path to a snapshot of the Data sibling of the source as the first parameter.

Second parameter

The path to the destination volume or folder. If the destination is a disk image, this is the path to the mounted disk image. On macOS Catalina and later, if the destination volume is a System volume, CCC will send the path to the Data sibling of the destination as the second parameter, e.g. "/Volumes/CCC Backup - Data".

Third parameter

  • Preflight script: The underlying mountpoint for the volume that holds the destination disk image, if applicable.
  • Postflight script: The exit status of the file copying phase of the backup task.

Fourth parameter

The path to the destination disk image, if applicable.

If your preflight script exits with a non-zero exit status, it will cause CCC to abort the backup task. This can be used to your advantage if you want to apply preconditions to your backup operation. If you want to be certain that errors in your preflight shell script never cause the backup task to be aborted, add "exit 0" to the end of your script. If you would like that script to silently cancel the backup task, add "exit 89" to the end of the script. If the script is a global preflight script (specified in the Advanced section of CCC's Preferences window), you can add "exit 104" to the end of the script to cancel the backup task and to avoid recording a Task History event.

The postflight script will run whether the backup task exits successfully or not. If your script should behave differently depending on the result of the task, you can test whether the third parameter is zero (an exit status of "0" means the task ended successfully). For example:

#!/bin/sh

source="$1"
dest="$2"
exitStatus=$3

if [ "$exitStatus" = "0" ]; then
    # task succeeded
else
    # task failed or reported errors
    # Note: Do not assume that $source and $dest are populated
    # These will be empty if source or destination validation fails
fi

If your postflight script exits with a non-zero exit status, CCC will not report this as a failure of the backup task. The failure will be noted in the Task History window, however.

AppleScripts are not supported

You cannot specify an AppleScript as a pre- or postflight script, CCC currently only supports running shell scripts.

Shell scripts require a shell interpreter line

CCC does not assume a default shell environment when running your pre- or postflight script. Not doing so gives users a great deal of flexibility; they can choose to write their scripts in any shell or programming language (e.g. bash, python, perl, ruby, C). For CCC to execute a shell script as an application, though, the system needs to know what shell should be used to interpret the script, and that value needs to be defined in your shell script. This is done simply by placing a shell interpreter line at the top of the file, e.g. #!/bin/sh.

Shell scripts run as the root user

CCC's pre- and postflight shell scripts are executed as the System Administrator (aka "root"). As such, any references to your own shell environment will be invalid. When referencing tools that lie outside of the default $PATH, be sure to either specify the full path to the item (e.g. /usr/local/bin/foo), or export your own $PATH at the top of your script. Likewise, if you make relative references to files (e.g. ~/Desktop/foo.log), those files will be created in the root user account, e.g. /var/root/Desktop/foo.log. Use absolute paths for more reliable results.

Security implications of pre- and postflight shell scripts

To prevent unauthorized modifications to your shell scripts, we recommend that you restrict the ownership and permissions of these scripts and to the folder in which they are contained. The parent folder and scripts should be writable only by the root user. For example, running the following in the Terminal application would secure any shell scripts located in the default location for pre- and postflight scripts:

sudo chown -R root:wheel /Library/Application\ Support/com.bombich.ccc/Scripts
sudo chmod -R 755 /Library/Application\ Support/com.bombich.ccc/Scripts

To further enhance the security of your pre and postflight scripts, CCC will require that scripts stored in the default location are owned by the root user and writable only by the root user, and that the Scripts folder itself is also owned and writable only by the root user. If a script that resides within the default Scripts folder does not meet these requirements, CCC will refuse to execute that script and the associated task will report an error.

After copying scripts into CCC's Scripts folder or making changes to those scripts, you can choose "Secure CCC's Scripts folder" from CCC's Utilities menu to correct any ownership or permissions concerns. Please note that these additional security requirements are only applied to scripts stored within the /Library/Application Support/com.bombich.ccc/Scripts folder. If you prefer to manage the security of your shell scripts on your own, you may store them in another location.

Example pre- and postflight shell scripts

To use any of these example scripts, download the script and place it somewhere on your startup disk. By default, CCC looks in /Library/Application Support/com.bombich.ccc/Scripts.

parallels_pause.sh
This is a preflight script that you can use to pause all currently-running Parallels VM containers. This script will also retain state information that can be read by the corresponding parallels_start.sh postflight script to resume these VMs after the backup task has completed. Note: This script relies on command-line tools offered only in Parallels Desktop for Mac Pro or Business Edition.

parallels_start.sh
This postflight script will resume any Parallels VM containers that were suspended by the parallels_pause.sh preflight script. Note: This script relies on command-line tools offered only in Parallels Desktop for Mac Pro or Business Edition.

play_sound.sh
If you want to play a unique sound, use this script. You can plug in the path to any audio file of your liking or try one of the examples included.

eject_source_and_destination.sh
CCC's option to automatically unmount the destination volume is a volume-level task, not a device task. It's also limited to the destination. If you want to eject the destination device, or if you want to unmount or eject the source, use this postflight script instead. Note that ejecting a device will unmount all volumes on the device. Also note that this example script adds a 60-second delay to accommodate macOS's desire to automatically regenerate various cache files. This delay can be adjusted if necessary by editing the script.

pm_on_success.sh
This postflight script will perform the requested power management option (e.g. shutdown, restart, sleep) at the end of the backup task if the backup task completes without errors. Use this in lieu of one of the Power Management postflight options if you prefer the power management action does not occur when a task ends with errors (e.g. if the destination volume is missing).

quit_application.sh and open_application.sh
This pair of scripts can be used to quit and open an application before and after the backup task. Open these scripts in a text editor to define the application that should be quit or opened.

post_to_slack.sh
This postflight script will post the status of your backup task to a Slack channel.

ifttt_maker.sh
This postflight script will post an IFTTT Maker Event of the status of your backup task.

Restoring from a backup on a remote Macintosh

$
0
0
Product: 
ccc6

Restoring files from a remote Macintosh is nearly the same procedure as backing up to a remote Macintosh:

  1. Open CCC
  2. Click the New Task button in the Toolbar
  3. Select Remote Macintosh... from the Source selector
  4. Configure the hostname of the remote Macintosh and connect to the remote Mac
  5. Choose the path to the volume or folder that has the backup.
  6. Select a destination volume (do not select a macOS system volume), or a folder
  7. Click the Start button

Related Documentation

Restoring from a disk image

$
0
0
Product: 
ccc6

You can access the contents of a disk image the same way that you access other volumes and external hard drives on macOS. Double-click on the disk image file to mount its filesystem, then navigate the filesystem in the Finder to access individual files and folders. If you have the permission to access the files that you would like to restore, simply drag those items to the volume that you would like to restore them to.

Restoring individual items or an entire disk image to another hard drive using CCC

To restore files or an entire filesystem from a disk image:

  1. Open CCC
  2. Select Restore from disk image... from the Source selector and locate your backup disk image. CCC will mount the disk image for you.
  3. Choose a volume from the Destination selector. You may not choose the current startup disk as a destination, however you may choose to restore to a folder on the current startup disk.
  4. If you do not want to restore everything, click the Task Filter button and define a filter to exclude any content that you do not wish to restore.
  5. Click the Start button.

Using Migration Assistant to migrate data from a disk image

If you have a clean installation of macOS and want to restore your user data from a full-system backup on a disk image, you can use Migration Assistant for this task. Simply mount the disk image, then open Migration Assistant and proceed as directed, using the mounted disk image as the source. Note that Migration Assistant will only accept a disk image that has a full system backup or a whole Data volume backup, it will not accept a collection of user data (e.g. just a user home folder).

Migration Assistant and the CCC SafetyNet

If your backup volume has a "_CCC SafetyNet" folder, you can move that folder to the Trash before using Migration Assistant to avoid copying that folder during a migration. This is particularly important if that folder has a lot of data in it and you're migrating to a disk that is smaller than the backup volume. If you would like to retain the SafetyNet folder on the backup volume, don't empty the Trash. After Migration Assistant has completed, then you can move the SafetyNet folder back to the root of the backup volume.

Some files and folders are automatically excluded from a backup task

$
0
0
Product: 
ccc6

CCC maintains a list of certain files and folders that are automatically excluded from a backup task. The contents of this list were determined based on Apple recommendations and years of experience. The following is a list of the items that are excluded along with an explanation of why they are excluded.

Legend:
Items prefixed with a "/" indicate that they will only be ignored if located at the root of the volume.
Items postfixed with a "/*" indicate that only the contents of those folders are ignored, the folders themselves will be copied.
Items postfixed with a "*" indicate that the filename will be matched up to the asterisk.

Filesystem implementation details

  • .HFS+ Private Directory Data*
  • /.journal
  • /.journal_info_block
  • .afpDeleted*
  • ._*
  • .AppleDouble
  • .AppleDB
  • /lost+found
  • Network Trash Folder
  • .TemporaryItems

These items only show up if you're running an older OS than what was used to format the source volume, and on some third-party implementations of AFP and SMB network filesystems. These items should never, ever be manipulated by third-party programs.

Volume-specific preferences

These items record volume-specific preferences, e.g. for Spotlight, Time Machine, and a custom icon for the volume. Feedback on the exclusion of these items is welcome. Because they are volume-specific preferences, the exclusion of these items from a day-to-day backup seems most appropriate.

Apple-proprietary data stores

These items are Apple-proprietary data stores that get regenerated when absent. Attempting to copy these data stores without unmounting the source and destination is not only futile, it will likely corrupt them (and their respective apps will reject them and recreate them).

The DocumentRevisions data store is used by the Versions feature in macOS. The Versions database stored in this folder contains references to the inode of each file that is under version control. File inodes are volume-specific, so this dataset will have no relevance on a backup volume.

Volume-specific cache files

  • /private/var/db/dyld/dyld_*
  • /System/Library/Caches/com.apple.bootstamps/*
  • /System/Library/Caches/com.apple.corestorage/*

Copying these caches to a new volume will render that volume unbootable. The caches must be regenerated on the new volume as the on-disk location of system files and applications will have changed. macOS automatically regenerates the contents of these folders when CCC is finished updating the backup volume.

NetBoot local data store

  • /.com.apple.NetBootX

In the unlikely event that your Macintosh is booted from a Network device, macOS will store local modifications to the filesystem in this folder. These local modifications are not stored in a restorable format, therefore should not be backed up. In general, you should not attempt to back up a NetBooted Mac.

Dynamically-generated devices

  • /Volumes/*
  • /dev/*
  • /automount
  • /Network
  • /.vol/*
  • /net

These items represent special types of folders on macOS. These should not be backed up, they are dynamically created every time you start the machine.

Quota real-time data files

  • /.quota.user
  • /.quota.group

When these files are copied to a destination volume using an atomic file copying procedure, the macOS kernel will prevent the destination from being gracefully unmounted. The contents of these files is never accurate for the destination volume, so given the kernel's unruly behavior with copies of these files, CCC excludes them. According to the quotacheck man page, these files should be regenerated every time a quota-enabled volume is mounted (e.g. on startup). We have not found that to be consistently true. If you're using quotas, run sudo quotacheck / after restarting from your backup volume or a restored replacement disk to regenerate these files.

Large datastores that are (or should be) erased on startup

  • /private/var/vm/*
  • /private/tmp/*
  • /cores
  • /macOS Install Data

macOS stores virtual memory files and your hibernation image (i.e. the contents of RAM are written to disk prior to sleeping) and temporary items in these folders. Depending on how you use macOS and your hardware configuration, this could be more than 50GB of data, and all of it changes from one hour to the next. Having this data for a full-disk restore does you absolutely no good — it makes the backup and restore processes take longer and the files get deleted the next time you boot macOS.

Trash

  • .Trash
  • .Trashes

Moving an item to the trash is typically considered to be an indication that you are no longer interested in retaining that item. If you don't want CCC to exclude the contents of the Trash, you can modify each task's filter:

  1. Choose Copy Some Files from the popup menu underneath the Source selector
  2. Click the Inspector button adjacent to that same popup menu to reveal the Task Filter window
  3. Uncheck the box next to Don't copy the Finder's Trash
  4. Click the Done button

Time Machine backups

These folders store Time Machine backups. Time Machine uses proprietary filesystem devices that Apple explicitly discourages third-party developers from using. Additionally, Apple does not support using a duplicated Time Machine volume and recommends instead that you start a new Time Machine backup on the new disk.

  • /Backups.backupdb
  • /.MobileBackups
  • /.MobileBackups.trash
  • /private/var/db/com.apple.backupd.backupVerification

Corrupted iCloud Local Storage

iCloud leverages folders in your home directory for local, offline storage. When corruption occurs within these local data stores, macOS moves/renames the corrupted items into the folders indicated below. macOS doesn't report these corrupted items to you, nor does it attempt to remove them. CCC can't copy the corrupted items, because they're corrupted. To avoid the errors that would occur when trying to copy these corrupted items, CCC excludes the following items from every backup task:

  • Library/Mobile Documents.*
  • .webtmp

Special files

Files included in this section are application-specific files that have demonstrated unique behavior. The kacta and kactd files, for example, are created by antivirus software and placed into a special type of sandbox that makes them unreadable by any application other than the antivirus software.

The "com.apple.loginwindow" item can be found in each user home folder. Excluding this item prevents the applications that were open during the backup task from opening when you boot from a restored backup. This seems appropriate considering that Apple intends the feature to be used to open the applications that were in use when you log out, restart or shutdown, not at an arbitrary point during the backup task.

CCC SafetyNet folders

When CCC's SafetyNet feature is enabled, CCC creates a _CCC SafetyNet folder at the root of the selected destination volume or folder. When CCC encounters an item on the destination that does not exist on the source, or an item that will be replaced with an updated item from the source, that item gets placed into the SafetyNet folder rather than being deleted immediately. The SafetyNet folder is literally a safety net for files on your destination. If you accidentally delete a file from the source and you don't realize it until after your backup task runs, you'll find the item in the SafetyNet folder. Likewise, if you accidentally specify the wrong volume as a destination to a CCC backup task, the mistake does not catastrophically delete every file from the selected destination; you simply recover the items from the _CCC SafetyNet folder.

The protection that the SafetyNet folder imparts is specific to the volume upon which the SafetyNet folder resides. As such, CCC never includes the contents of the _CCC SafetyNet folder in a backup task. So, for example, if your hard drive fails and you restore your backup to a replacement disk, the _CCC SafetyNet folder is automatically excluded from that restore task. If you have several tasks backing up to separate folders on a backup volume, for example, the _CCC SafetyNet folders that are created in those subfolders would not be included in a secondary backup task that copies your backup disk to a third disk.

Using CCC to back up to/from another Macintosh on your network

$
0
0
Product: 
ccc6

CCC offers the option of securely copying your selected data to another Macintosh on your network (or anywhere on the Internet for that matter) via the Remote Macintosh... options in the Source and Destination selectors. After a brief setup procedure to establish trust between your Mac and the destination Mac, simply choose the source or destination volume/folder on the remote Mac and CCC will take care of the rest.

This feature is not intended for backing up macOS system files. Do not select a macOS system volume as the source or destination to a Remote Macintosh task.

Before setting up CCC to back up to a remote Macintosh, you must:

  1. Confirm that the remote Macintosh is running a supported OS (OS X 10.7 or later)
  2. Enable Remote Login in the Sharing Preference Pane on the remote Macintosh
  3. Verify that any firewalls between the two Macs are permitting "secure shell" traffic over port 22 (or a custom port that you specify).

Enabling Remote Login on the remote Macintosh

To enable Remote Login on your remote Macintosh:

  1. Log in to that machine as an admin user.
  2. Open the System Preferences application.
  3. Open the Sharing Preference Pane.
  4. Check the box next to Remote Login.
  5. Be sure to allow access to All users, or explicitly add the Administrators group to the list of restricted users and groups.
  6. Make a note of your remote Mac's hostname. The hostname is indicated underneath the Computer Name text field. In the screenshot below, "Apollo.local" is the hostname of the remote Macintosh.
Enable Remote Login

Configuring a Remote Macintosh source or destination

With the Remote Login service enabled on the remote Mac, the next step is to choose Remote Macintosh... from CCC's Source or Destination selector. CCC will present a browser that lists any hosts on your local network that advertise the Remote Login service. Find and select your remote Mac in this list, then click the Connect button. If you do not see your Mac listed here, type in the hostname of your remote Mac, then click the Connect button. If the remote Mac is not on your local network, you may need to specify the IP address of the public-facing router that your Mac resides behind. Be sure to configure the router to forward port 22 traffic to the IP address that is assigned to the remote Mac.

Connect to host

Once CCC has established a connection to the remote Mac, you will be prompted to install a Mac-specific Public Key Authentication (PKA) key pair onto the remote Mac. You must provide the username and password of an admin user on the remote Mac to permit this, and that admin user must have a non-blank password. Those requirements are only for the initial public key installation. For future authentication requests, CCC will use the PKA key pair.

Note: This step establishes a high level of trust between the local and remote Mac; this is required to correctly preserve file ownership. The local Mac will have access to all data on the remote Mac, and administrative users on the remote Mac can gain access to the data that you back up to that Mac. Both Macs should be within your administrative control.

Authenticate to the remote Mac

Install Key

Once you have connected to the remote Mac and installed CCC's key on that system, CCC will present a volume browser. Select the volume or folder to use as the source or destination for your task. Note: avoid selecting a volume or folder that contains an apostrophe (').

Connect to host

Bandwidth management options

CCC offers two options that can help you address bandwidth concerns. The option to Compress data passed over the network can greatly reduce your backup time and total bandwidth used. The time savings depend on just how slow the connection is between the two Macs. If you have a connection that is slower than 10MB/s, compression will make the transfer faster. If your bandwidth is better than that, compression may actually slow down your transfer. CCC will not compress certain file types that are already compressed, such as graphics files, movies, and compressed archives. Specifying the option to compress data passed over the network does not create a proprietary or compressed backup; files are automatically decompressed on the destination volume on the remote Macintosh.

CCC also offers a bandwidth limitation option. If your ISP requires that your transfers stay below a certain rate, you can specify that rate here. Note that CCC errs on the conservative side with this rate, so the average transfer rate may be slightly lower than the limitation that you specify.

De-authenticating a remote Macintosh

If you no longer wish to use a particular remote Macintosh, you can click the Deauthenticate... button to remove CCC's PKA key pair from the remote Mac.

Remote Macintosh prerequisites

At this time, CCC requires the use of the root account (though it does not have to be enabled) on both the source and destination Macs. To successfully back up to a remote Macintosh, you must have administrative privileges on both machines.

CCC also requires that the remote Macintosh be running macOS 10.7 or later. Non-Macintosh systems are not supported with the Remote Macintosh feature.

Additional pointers for advanced users

CCC's public key-based authentication is designed to work with no additional configuration of the services required for backing up over a network connection. CCC uses rsync over an ssh tunnel to perform the backup. If you do make modifications to the sshd configuration, you should consider how that may affect your backup. For example, CCC requires use of the root account over ssh. If you set the "PermitRootLogin" key in the sshd_config file to "no", you will not be able to use CCC to or from that machine. It's an important distinction to note that the root account does not have to be enabled, but sshd must permit the use of the root account. The "PubkeyAuthentication" key must also not be set to "no", because Public Key Authentication is required for CCC to authenticate to the remote Mac. CCC will attempt to proactively present these configuration scenarios to you if authentication problems are encountered.

Additionally, the initial Public Key Authentication (PKA) setup requires the use of an admin user on the remote Macintosh. That admin user account must have a non-blank password, and the Remote Login service must permit password-based authentication. These requirements apply only to the initial installation of CCC's PKA credentials. Once CCC has installed these credentials on the remote Mac, CCC will use PKA for authentication to the remote Mac.

Troubleshooting connectivity problems to a remote Macintosh

Problems connecting to a remote Macintosh generally are caused by configuration problems with the Remote Login service on the remote Macintosh. Try the following if you are having trouble making a backup to a remote Mac:

  1. Verify that the Remote Login service is enabled in the Sharing preference pane on the Remote Macintosh.
  2. Verify that access to the Remote Login service is allowed for All users.
  3. Re-select Remote Macintosh from CCC's Source or Destination selector and verify that authentication to the remote Mac is configured.
  4. Verify that your firewall and the remote Mac's firewall permits traffic on port 22. If you have an application firewall in place (e.g. Little Snitch), verify that access is granted to CCC's privileged helper tool, "com.bombich.ccchelper".
  5. If your local Mac and remote Mac are not on the same network (e.g. you're connecting across a VPN or through a router and over the Internet), confirm that a connection can be established between the two Macs. How you do this will vary from one scenario to the next, but you can generally verify connectivity by typing "ssh root@192.168.1.1" into the Terminal application (replace 192.168.1.1 with the hostname or IP address of your remote Mac). If you see a request for a password, then connectivity is established. If not, your network configuration isn't permitting the traffic, or the hostname that you're connecting to is invalid or unavailable. If you are accessing a remote Mac that is behind a router, consult the router's port forwarding documentation and verify that port 22 traffic is directed to the internal IP address of the remote Mac.

VPN and port forwarding configuration is outside of the scope of support for CCC, though our support staff will make every effort to identify whether problems are occurring within that configuration or within the service configuration on your remote Mac. If you have worked through the troubleshooting steps above and are still having trouble backing up to a remote Macintosh, please choose Report a problem from CCC's Help menu and submit a support request.

Meraki router intercepts Secure Shell traffic

Some users that have a Meraki router involved in their configuration have reported that its default configuration will interrupt Secure Shell traffic. The firewall rule that causes interference is in place to protect the network from vulnerabilities that are irrelevant between two modern Macs. Nonetheless, the firewall intercepts traffic after initially allowing a connection, which is presented by CCC as a "lost connection" or a failure to authenticate to the remote Mac. The following steps correct the Meraki configuration concern:

  1. Log into the Meraki as an administrative user and open the "Security report"
  2. Filter the log for SSH events
  3. Click the "SSH_EVENT_REPOVERFLOW" event from the list to open it and review the blocked event
  4. To allow the blocked traffic of this type, click "Yes" to add this event to the whitelist.

Thomson Gateway router intercepts Secure Shell traffic

Similar to the problem described above for Meraki router, the Thomson Gateway router can also cause interference that appears as an authentication failure. Forwarding traffic to a non-standard secure shell port (e.g. 2222, then be sure to specify that port when connecting to the Remote Macintosh in CCC) resolves the problem.

A note about access privileges to backed up data

While logged in to your remote Macintosh, you may not have permission to view the contents of your backup in the Finder. Your access to the files will be based on the unique id that is associated with the user account that you're logged in to on the remote Macintosh and the one associated with the account(s) on the other Mac(s) that you're backing up. The first administrator account always gets a uid of "501", and subsequent accounts are assigned incrementally higher uids — 502, 503, etc. For security and privacy purposes, macOS restricts access to the contents of user home directories to the owners of those home directories, and these restrictions are preserved when your data is backed up to a remote Macintosh.

To learn what user id is associated with your account:

  1. Open System Preferences and click on the User Accounts preference pane.
  2. Click on the lock and authenticate.
  3. Control+click on your account in the accounts table and choose "Advanced options".

You will see your User ID in the panel that appears.

This may be annoying from the perspective of trying to access those files on your remote Macintosh, but it is important for CCC to preserve the ownership and permissions information when backing up your data. If/when you want to do a restore, you could do either of the following:

a) Attach the external drive directly to the machine that you want to restore files to — the accounts on those systems will be able to access their backed up files.

b) Do a restore directly within CCC from the original source Macintosh.

If you must have read access to some of this data (e.g. the original Mac is gone, the user account changed, etc.), you can change the ownership of the home folder and its contents in the Finder:

  1. Choose Get Info from Finder's File menu.
  2. In the Sharing and Permissions section at the bottom, click on the lock icon to make the permissions editable.
  3. Click on the + button.
  4. In the window that appears, select your account, then click the Select button.
  5. Set the access privileges to Read & Write.
  6. Click on the Gear menu and choose to apply the change to enclosed items.

Snapshot support on remote Macs

Snapshot support is not available for volumes attached to a remote Macintosh.

Related Documentation


Modifying CCC's Security Configuration

$
0
0
Product: 
ccc6

Rather than requiring you to enter admin credentials every time you want to run a task or make changes to a task, CCC only requires you to authenticate once when CCC is initially installed. While this configuration is easier to use, there are situations where this configuration is not appropriate. If you leave your system unattended with an admin user logged in, someone with physical access to your system can modify or run your CCC backup tasks. If you cannot rely upon the physical security of your Mac to prevent someone from using your Mac, you can use the information below to apply a stricter security policy to CCC.

Require administrator authorization to make changes to tasks and to run or stop tasks

CCC identifies a subset of activity that causes changes to CCC tasks and preferences or that require access to privileged data (e.g. CCC's private keychain). Performing these tasks requires that the user is authorized for the "com.bombich.ccc.helper" privilege. The default rules for this privilege require that the requesting user is either an admin user, or can provide administrator credentials. Once the authorization is obtained, the user is allowed to perform the privileged tasks without additional authorization until the login session ends.

You can modify these rules in several ways. Most commonly, you may want to require the logged-in user to explicitly provide admin credentials to gain this authorization (vs. having the privileged granted simply because the user is an administrator). Additionally, you may want this authorization to expire after a specific amount of time, e.g. 5 minutes (vs. "when the user logs out"). To apply these stricter rules, paste the following into the Terminal application:

security authorizationdb read com.bombich.ccc.helper > /tmp/ccc.plist
defaults delete /tmp/ccc "authenticate-user"
defaults write /tmp/ccc "authenticate-admin" -bool YES
defaults write /tmp/ccc timeout -int 300
defaults write /tmp/ccc shared -bool NO
plutil -convert xml1 /tmp/ccc.plist
security authorizationdb write com.bombich.ccc.helper < /tmp/ccc.plist
security authorize -ud com.bombich.ccc.helper

Immediately revoking authorization to modify CCC tasks

If you have decided to apply a liberal timeout value to the "com.bombich.ccc.helper" privilege, you may occasionally want to revoke that authorization immediately. To immediately revoke that authorization, paste the following line into the Terminal application:

security authorize -ud com.bombich.ccc.helper

Resetting CCC's authorization rules back to default values

To reset CCC's authorization rules back to the default values, paste the following into the Terminal application:

security authorizationdb remove com.bombich.ccc.helper
security authorize -ud com.bombich.ccc.helper

The next time you attempt to modify or run a CCC backup task, CCC will re--apply its default rule set in macOS's Authorization database.

Creating a separate task to prevent VM container versions from bloating the SafetyNet

$
0
0
Product: 
ccc6

If you frequently use virtual machine container files (e.g. with Parallels, VMWare, VirtualBox, etc.), you may find that CCC's SafetyNet folder tends to get very large, very quickly. Every time you open your virtual machine, the monolithic virtual machine container file is modified, and CCC will require that it gets backed up during the next backup task. If the SafetyNet is on, CCC will move the older version of the VM container file into the SafetyNet folder. If you run your backup tasks on a daily basis and use your virtual memory container file every day, these large VM container files will quickly consume all of the free space on your backup volume.

You can avoid archiving the older versions of these virtual machine container files by creating a separate backup task for the parent folder of the virtual machine container files. Here's how to set things up:

  1. Create a new task and name it something like Everything except Parallels
  2. Choose your startup disk from CCC's Source selector
  3. Click the Task Filter button at the bottom of the window
  4. In the file list in the Task Filter window, navigate to the location where your Parallels VM is saved (e.g. Users > yourname > Documents > Parallels) and uncheck the box next to the folder that contains your virtual machine container. You could exclude the container file itself, but choosing the parent folder gives you more flexibility in renaming the VM container, should you want to (e.g. Windows XP > Windows 7).
  5. Choose your backup volume from the Destination selector
  6. Click on the Destination selector and confirm that SafetyNet is On
  7. Configure the task to run Daily and Save the changes
  8. Create a new task and name it something like Parallels Backup
  9. Choose Choose a folder... from the Source selector and select your Parallels folder as the source (e.g. the same folder that you excluded previously). By selecting this folder directly, you're explicitly limiting this task's scope to this folder.
  10. Choose Choose a folder... from the Destination selector and select the Parallels folder on your backup volume as the destination
  11. Click on the Destination selector and choose SafetyNet Off from the SafetyNet menu
  12. Schedule this task, then save the changes

Additionally, you can configure the first task to run that second task as a postflight action in Advanced Settings.

Outgoing network connections made by CCC

$
0
0
Product: 
ccc6

If you're using an application firewall such as Little Snitch, you will see several outgoing network connections coming from CCC. We explain below what connections you should expect to see, and also explain why some connections that look unexpected are simply misreported by Little Snitch.

Ordinary activity

CCC will make external network connections for the following activity:

  • † When you launch CCC and it is a scheduled time to check for a software update (bombich.com and mc.bombich.com)
  • When you submit a ticket to our help desk (mc.bombich.com and carboncopycloner.zendesk.com)
  • When you view the documentation (which takes you to our website, bombich.com)
  • When you visit our store (which also takes you to our website, bombich.com and our sales vendor, sites.fastspring.com)
  • If you have set up email notifications for completed tasks
  • If your backup task specifies a network volume or remote Macintosh as the source or destination

† These activities are enabled only upon your assent when you first launch CCC, and can be suppressed any time later via the Software Update section of CCC's Preferences window. No personal data, nor personally-identifiable data is ever sent to these services.

When you view the documentation via CCC, you connect to bombich.com just as you would in your web browser. Like most websites, bombich.com connects to other domains for certain purposes. We use Content Delivery Networks (CDNs) to serve our static content, such as file downloads, images, styling, fonts, and so on. The CDNs we use are bootstrapCDN (which is hosted by maxCDN) for styling, jquery and fastly for scripts, Google for fonts, Rackspace (bombich.scdn1.secure.raxcdn.com, hosted by akamai) for files and images, and NewRelic for performance and uptime monitoring (nr-data.net, newrelic.com). CDNs not only provide powerful servers, they also have servers around the world and pick the one nearest to the user so that content can be delivered faster.

FastSpring is our e-commerce partner that handles everything to do with pricing and purchasing. If you go to our store, you are directed to their website. They use Cloudfront, Amazon's CDN service, to host some of their static content.

Why does Little Snitch indicate that CCC is connecting to google.com and other unrelated-seeming domains?

When CCC connects to any server, Little Snitch (or any monitor) sees the IP address only. It then makes a guess as to the domain name associated with that connection, which makes it much easier for the user to recognize. Because CDNs are used to serve files for hundreds of different websites and companies, everything is very interconnected, and sometimes an IP address has dozens of different domain names associated with it. You can actually see Little Snitch's other possible guesses by clicking the domain name in bold in the Little Snitch window:

Little Snitch CND guesses

It could pull any host name from the list, and we don't know what algorithm Little Snitch uses to decide which one to choose.

The result: google.ca, google.com, googleapis.com, and ytimg.com are all domains associated with Google's servers. We aren't actually connecting to all of these domains, but when we connect to Google Web Fonts, for example, we're accessing some of the same servers.

You can view a list of the CDNs that we use here (and also look at any other websites you are curious about). This forum post at the ObDev website describes a similar report of the same problem (unrelated to CCC): Little Snitch showing wrong host name for IP.

Limitations of online-only placeholder files

$
0
0
Product: 
ccc6

Some cloud storage service providers offer services that allow you to sync a local folder to "the cloud", and optionally choose to store those files only online, thus freeing up space on your hard drive. Some services that currently offer this functionality include:

  • Dropbox Professional's "Smart Sync" feature
  • Microsoft OneDrive's "Free up space" feature
  • iCloud Drive's "Optimize Mac Storage" feature
  • Google's "Drive File Stream" feature

Files that are only available online will typically have a "cloud" icon or badge in the Finder, e.g. iCloud: File only available in iCloud and Dropbox: File only available in Dropbox online

When you choose to have these services store your files only online, do so with the understanding that it's not possible to maintain a local backup of those files.

Online-only files can't be backed up

When you specify that a file stored by one of these storage services should reside only online, the local copy of your file is deleted from your Mac and replaced with a 0-byte placeholder file. If you attempt to open the placeholder file, the agent software for your storage service provider automatically downloads the data of the file to your Mac and the document opens. While this is a convenient feature that allows you to free up some space on your Mac, this feature removes files from your local storage, which means that CCC can't make a backup of these online-only files. Before using these online-only features, you should consider whether you are comfortable with not having a local backup of the files that you choose to store only in the cloud.

Placeholder files may be backed up, but may not function as placeholder files on the backup disk

As noted above, when you open a placeholder file in the Finder, the agent software downloads the original. Likewise, if you attempt to copy a placeholder file via the Finder from one volume to another, the agent software downloads the data to the source, then copies the original file (leaving the downloaded source file in place). CCC backups do not behave like Finder copies. And for good reason – if you have 1TB of online-only files on your 500GB SSD, you wouldn't want Dropbox or iCloud to download all of that data when CCC attempts to make a backup! Rather, CCC copies the placeholder files as they are, retaining all of the placeholder attributes of the source files. CCC makes a non-proprietary backup of your files; our goal is to make the destination files look exactly like the source files.

Some placeholder files won't function as placeholder files on the destination. OneDrive, for example, won't see a placeholder file that is outside of your OneDrive folder (i.e. on your startup disk) as a "true" placeholder file, and will not engage to download the file's data when you attempt to open it. CCC makes a best-effort attempt to not copy OneDrive placeholder files at all. Microsoft's OneDrive client software actively prevents applications from accessing those files — OneDrive placeholders are impossible to back up.

Dropbox's placeholder files function correctly when you back them up from an APFS volume to another APFS volume, and when you back them up from an HFS+ volume to another HFS+ volume. Because Dropbox uses a different proprietary technique for creating the placeholder file on each volume format, though, these placeholder files won't behave correctly when transferred from one filesystem format to another.

Google Drive File Stream uses yet another proprietary device for its placeholder files. These placeholder files (which include all Google Docs document formats) can't be opened by any application other than Google Drive, so CCC does not attempt to back them up.

OneDrive may delete online-only files from the cloud when you restore a OneDrive folder from a backup

Because Microsoft's OneDrive syncing software prevents applications from accessing the contents of OneDrive online-only placeholder files, those placeholder files cannot be present on a backup. If you restore a OneDrive folder from a backup, the OneDrive service should be smart enough to not delete files from the cloud simply because the placeholders are now absent. For comparison, Dropbox and iCloud won't delete files whose placeholders are absent, rather those services will only delete a file from the cloud when an actual file removal event occurs. In our own testing, OneDrive does not delete online-only files from the cloud when restoring from a backup. However, we have seen reportsof this result, and we have received one report of this result. If you restore from a backup and encounter this problem, you can restore the deleted files using these instructions from Microsoft.

If you're reading this because you encountered an error in your backup task indicating that CCC dropped a OneDrive placeholder file, take a moment to consider whether you should continue to include your OneDrive folder in your backups. One one hand, having a local backup of the OneDrive files that actually reside on your Mac is really nice to have. On the other hand, if you don't recall that placeholder files will be missing from your backup, then you may have some hassle in the future if/when you restore from that backup.

Related Documentation

What is CCC's Privileged Helper Tool?

$
0
0
Product: 
ccc6

At its core, CCC is a product that is designed to make bootable backups of your Mac's operating system. In order for CCC to be able to make copies of system files, CCC needs to have the privilege of copying files that can't be read nor written by just any user – CCC requires elevated privileges to copy macOS system files. Likewise, CCC is often tasked with copying the data associated with multiple users. macOS prevents you from accessing files that belong to other users. If you, as the administrator of the Mac, want CCC to back up everybody's files, then again, CCC requires elevated privileges.

Acquiring elevated privileges on macOS

There are a few different ways to perform a task on macOS with elevated privileges. The simplest – and least secure – method to do this would be to prompt the user to authenticate when he opens the application, and then relaunch the application as the "root" user. The application would then have all of the privileges it needs. This would grant far too much privilege, though, because it also gives the user (or malware that is exploiting the application) privileged access to other users' files.

A better way to securely acquire elevated privileges is to isolate the code that requires those privileges into a separate, "faceless" application. This is a common practice known as privilege separation. Even here, though, there is a right way and a wrong way for the isolated application to gain elevated privileges. The antiquated technique is for the parent application to ask for administrator authentication, then change the owner of the privileged application to the root user, then set a special mode on that application that allows that application to run with the privileges of the owner of the application (root). While this is a popular technique on Linux and much, much older versions of Mac OS X, there is still a significant potential vulnerability with this approach – any user can open that privileged application and potentially use it as a puppet to perform privileged tasks. Apple specifically discourages this practice:

Note: Older software sometimes sets the setuid and setgid bits for the executable file, and sets the owner and group of the file to the privilege level it needs (often with the root user and the wheel group). Then when the user runs that tool, it runs with the elevated privileges of the tool’s owner and group rather than with the privileges of the user who executed it. This technique is strongly discouraged because the user has the ability to manipulate the execution environment by creating additional file descriptors, changing environment variables, and so on, making it relatively difficult to do in a safe way.

Adhering to a higher standard of security

Starting in Mac OS X 10.6 (Snow Leopard), Apple introduced a more secure paradigm for performing tasks with elevated privileges. Rather than blindly granting privileged access to an application, developers can ask the system to install a "privileged helper tool". macOS then invokes the privileged helper tool on demand, and the calling application can only communicate with the helper when it has met stringent requirements:

  • The calling application and the privileged helper tool must be code signed (and valid)
  • The calling application must be one of the applications that is specifically approved to make requests to that specific helper
  • The calling application must have a valid authorization reference

These requirements prevent unauthorized use of the helper tool and they prevent maliciously modified applications from making requests to the helper tool.

CCC has leveraged a privileged helper tool since version 3 and Mac OS X Snow Leopard – right from the start. This architecture is not only more secure and future-proof than using setuid binaries, it also affords us, for example, the ability to perform backup tasks when no users are logged in to the system.

Related Documentation

Viewing all 257 articles
Browse latest View live