There are several cloud storage solutions available that allow you to synchronize content that's stored locally on your Mac with storage hosted on the Internet. Naturally we want to be able to back up all of your data whether it's stored in the cloud or not. The manner in which cloud syncing solutions store data locally, however, can complicate how you go about backing up and restoring that data. There are two complicating factors that we will address in this article:
- The actual location of your locally-stored data may be in a hidden location, making it difficult to find the files on your backup.
- Some, or possibly even all of your cloud-synced files may not be permanently stored on your Mac; content that is only stored in the cloud is not immediately available for making a local backup.
Local storage of cloud content is kept in a hidden location
You're typically used to accessing your cloud-synced content in the Finder's sidebar. In many cases the cloud storage solution may place an alias in your home folder that conveniently points to the location of the local copy of your data. Typically, though, that content is not stored in an obvious location, rather it's stored in the hidden "Library" folder in your home folder. Knowing where that data "lives" is key to understanding how to access that content on your backups.
Finding your cloud-synced content on the backup
If you make an ordinary backup of your startup disk, all of your locally-stored cloud content is on the backup. That content is in a hidden location, though, so follow these steps to locate that content on your backup disk:
- Choose Computer from the Finder's Go menu
- Select your backup disk, then navigate to Users > (yourname)
- Press Command+Shift+Period to toggle the Finder's display of hidden items
- iCloud: Navigate to Library > Mobile Documents
- Other cloud storage: Navigate to Library > CloudStorage
Pro tip: Navigate to your home folder, then press Command+J, then check the box next to "Show Library Folder" to permanently reveal the Library folder. After your next backup, the Library folder will be permanently revealed on your backups too.
"iCloud Drive" is not a volume nor folder, it's actually a collection of many disparate folders
When you open "iCloud Drive" in the Finder sidebar, you see a simple list of files and folders. Some of those folders may have special icons representing the application that stores data in that folder, e.g. for Preview, Pages, TextEdit, etc. Looking at the content of iCloud Drive in the Finder, you might assume that there is a folder somewhere ("in the sidebar") that has all of those items collected together.
iCloud Drive does not work like that. What you see in the Finder is a Finder trick. iCloud Drive is actually a collection of folders hidden away in the Library folder in your home directory. Files and folders that you manually add to iCloud Drive are stored here:
Macintosh HD --> Users > (yourname) > Library > Mobile Documents > com~apple~CloudDocs
Application storage folders are kept elsewhere. If you have a Pages folder in iCloud Drive, for example, that content would be stored here:
Macintosh HD --> Users > (yourname) > Library > Mobile Documents > com~apple~Pages > Documents
Making matters even more complicated, if you choose to sync your Desktop & Documents folders (i.e. System Settings > Apple ID > iCloud Drive > Options), the Finder will make it appear as if your Desktop and Documents folders actually reside within iCloud Drive. In fact, those folders still exist in their normal locations:
Macintosh HD --> Users > (yourname) > Desktop
Macintosh HD --> Users > (yourname) > Documents
But you won't see those folders in those locations when you navigate there in the Finder — Finder hides them.
Backing up cloud-only content
Most cloud storage service providers offer features that allow (or even encourage/force) you to store your files only online, thus freeing up space on your hard drive. Files that are only available online will typically have a "cloud" icon or badge in the Finder, e.g.:
When a file stored by one of these storage services is flagged to reside only online, the local copy of the file is deleted from your Mac and replaced with a 0-byte placeholder file. While this is a convenient feature that allows you to free up some space on your Mac, this feature imposes a logistical challenge to creating a local backup of those files. If you want to have a local backup of these cloud-only files, CCC must temporarily download these files to your startup disk. CCC can do this, but because this involves downloading a potentially large amount of data from the Internet, this functionality is disabled by default. Likewise, allowing this data to co-mingle with your startup disk's backup could lead to a situation where it is impossible to restore your entire backup to the original disk due to space constraints. To avoid that, we recommend making backups of your cloud-only storage to a separate volume on your backup disk.
Best practice for setting up a CCC task to back up cloud-only data
- Open CCC and click New Task in the toolbar; name the new task something like "Local Backup of Cloud Storage".
- Click on the Source selector and choose Cloud Storage
- Click on the Destination selector and choose a backup volume. If you select the same volume that you use for backing up your startup disk, be sure to add a new volume in the Backup Volume Setup Assistant.
- Click Done, then schedule the task or run it immediately.
The "Cloud Storage" source option automatically enables the "Temporarily download cloud-only files to make a local backup" setting. When this setting is enabled, CCC will temporarily download cloud-only files that are not yet on the destination, or that are newer than the corresponding file on the destination. After copying the temporarily downloaded files, CCC will "evict" the files to free up the space that they consumed. CCC attempts to retain no more than 100 files and no more than 2GB of temporarily-downloaded content at a time.
The Cloud Storage task creates a custom filter
The Cloud Storage source will create a filter that automatically includes the following folders in your home directory:
- Desktop
- Documents
- Library > Mobile Documents
- Library > CloudStorage
The first three folders are specific to iCloud, and the first two folders are only applicable if you have iCloud Drive configured to sync your Desktop and Documents folders. If you don't sync your Desktop and Documents folders to iCloud, you can click Task Filter at the bottom of the CCC window, then uncheck the boxes next to your Desktop and Documents folder to not include those folders in this backup task.
Some iCloud cloud-only content will not be temporarily downloaded
Starting in macOS Monterey (12.3, January 2022), Apple disallowed cloud syncing by means of a System Extension. Cloud-syncing service providers like Google, Microsoft, and Dropbox were "encouraged" to adopt the "FileProvider" service within macOS instead. Prior to macOS Sonoma, Apple had not yet adopted that service for their own iCloud Drive cloud syncing solution. Rather, Apple continued to use a proprietary syncing service on macOS Monterey and Ventura that relied on proprietary placeholder files.
Lack of adoption of their own standard leads to some idiosyncrasies when dealing with iCloud cloud-only content on Ventura. The only notable problem that proved too difficult for us to work around involves bundle files. iCloud uses a single file placeholder for bundle files (vs. dataless folders via FileProvider). This (lack of) structure posed logistical and practical issues that we decided were too costly to resolve, especially in light of the fact that Apple migrated iCloud to FileProvider in macOS Sonoma. As such, cloud-only iCloud files that are bundle files will not be downloaded on Ventura, rather the placeholder file will be copied instead.
Other notable caveats regarding the temporary downloading of cloud-only content
CCC's helper tool must have access to icloud.com for the entire duration of the task event
If connectivity is not available or is lost to that host (regardless of the service provider that hosts your cloud-backed content), CCC will suspend downloading activity in the task. We do this because it's not possible to revoke requests to download files from the cloud. If we plowed through all of the files and requested all of them, iCloud/FileProvider would resume downloading all of those files as soon as connectivity was restored. Making matters worse, this would happen outside of the purview of the task, and CCC would not be able to evict the downloaded files, likely leading to space constraints on the startup disk.
CCC's Dashboard application must be running for the entire duration of the backup task
Only the logged-in user can "evict" file content, so CCC passes those requests to the CCC Dashboard service. If CCC cannot reliably evict files, it will not download files. If/when this occurs, CCC will report an error for the task event.
Verification discrepancies
If you perform an ad hoc verification on a source with cloud-only content, the cloud-only placeholder files will fail verification. This is the correct result because the (empty) content of the cloud-only placeholder file does not match the content of the "rehydrated" file that was temporarily downloaded. CCC's transaction only retains a checksum of the data that was downloaded, not the empty placeholder file.
Cloud-only placeholder files will not be downloaded for checksum analysis.
When using the "Find and replace corrupted files on the destination" setting (aka Backup Health Check), CCC will not download cloud-only placeholder files from the Internet just to calculate their checksums. If CCC copied these files in the past (either via temporary download or prior to eviction), then the task audit will already have the checksum for those files. To verify those files, click on the Destination selector for your dedicated CloudStorage backup task and choose Verify files copied by this task.
Ad hoc verification: Verify the source or the destination against the "last known state"
Cloud-only files in storage that does not adopt Apple's FileProvider interface cannot be downloaded
CCC's functionality to temporarily download cloud-only files relies on the FileProvider interface provided by macOS. Most cloud storage providers have completed the migration to this interface (typically years ago), but some may not have adopted it yet. Dropbox, for example, still has a large contingent of users that have not made the migration. If you have Dropbox content on an external storage device, for example, that content does not leverage the FileProvider interface, and CCC cannot temporarily download cloud-only content in that data set to make a local backup.
To determine if your cloud storage provider has adopted the FileProvider interface, hold down the Option key and choose Library from the Finder's Go menu, then navigate into the CloudStorage folder. If you see your cloud storage provider's folder in this location, then it has adopted the FileProvider interface and should be compatible with CCC's "Temporarily download cloud-only files to make a local backup" setting.
Configure Photos to download originals to your Mac
iCloud Photos offers two options for photo storage: Download Originals to this Mac and Optimize Mac Storage. When you have Optimize Mac Storage enabled, Photos will retain lower-resolution versions of your photos and offload the full-resolution versions to iCloud. Unlike the cloud-syncing solutions noted above (including iCloud), iCloud Photos does not offer functionality to download the full-resolution versions of these files temporarily, nor does it use cloud-only placeholders (so we can't even tell that a given file is not full resolution). If you would like to make a local backup of your full-resolution photos, select the Download Originals to this Mac storage option in Photos Settings > iCloud.
Cloud service problems can prevent CCC from downloading cloud-only files
Naturally your own Internet connectivity problems can prevent CCC from downloading cloud-only files, but so can service problems on the cloud-provider's end. Most cloud-service providers offer a dashboard showing their server status. Here are a few for your convenience: