By default, the Code42 app backs up files in the user's home directory. This article explains how to specify what should be included and excluded from the backup file selection.
The file selection can also be adjusted directly from the Manage Files menu in the Code42 app.
How it works
There are several ways of specifying which files and folders should be included or excluded from the backup file selection.
- Use substitution variables
- Specify filename patterns using wildcards
- Specify file extensions to exclude
- Use regular expressions
Inclusions are processed first, followed by exclusions. Files that are in both the inclusions and exclusions will be excluded, since the exclusion list is processed last.
Inclusions and exclusions can be configured at various levels of your CrashPlan for Small Business environment:
- Device Backup defaults configure settings for all devices in your environment: Device Backup > Backup
- Device Details configures settings for specific devices: Device Details > Action Menu > Edit
Drive letters are case sensitive. Adding a file path with incorrect capitalization of the drive letter removes all files from the backup file selection for devices with a different case drive letter. For example, adding a file path that starts with lowercase c (such as c:\Users) removes the backups of files whose actual path on disk starts with a capital C (such as C:\Users).
See also https://support.code42.com/Small_Business/Troubleshooting/Real-time_changes_not_detected_due_to_case_sensitivity for details about directory-name case sensitivity.
The Code42 app does not support Universal Naming Convention (UNC) file paths (for example, //SERVERNAME/shareddir/).
File selections must use an absolute path (for example, C:/) to enable backup and restore.
Files whose names differ only in capitalization are recognized as distinct files on Linux devices when you select files for backup, as well as when you select files for download. On Windows and Mac devices, files whose names differ only in capitalization are treated as the same file. When you restore two Linux files whose names differ only in capitalization to a Windows or Mac device, the files have "original<number>" prefixed to their names to differentiate them from one another.
- To exclude a file from backup, the file's parent must be included. This means that if an exclusion uses a directory and not a token (for example, :user, :root, and so on), and the exclusion does not have a parent directory explicitly shown in the inclusion list, the exclusion is pruned automatically from the exclusions list.
- Excluded and deselected files are treated differently than deleted files, so the Remove Deleted Files After setting does not apply to excluded files. As a result, the files that have been excluded are removed from the backup archive and are permanently unrecoverable.
Test, test, test
Make sure you verify your exclusions and inclusions any time you make a change. Otherwise, essential files may not be backing up, or too many nonessential files may be taking up space and bandwidth.
If you find that certain system or media files are not backing up on a Mac, verify that the affected files do not contain exclusion metadata. Certain metadata attributes tell applications that the file should not be backed up. It is possible to remove the exclusion metadata for a file, so that the Code42 app can back up the file.
Include a trailing slash for directories
When you want to include a directory in the included or excluded files fields of device backup settings, you must include a trailing slash ("/") in the path name. For example, C:/data/ is correct, but C:/data is incorrect. If you do not include the trailing slash, Code42 for Enterprise treats the path name as a file rather than a directory. This could have the following consequences:
- Files within the directory that you want to include in your backup will not be backed up.
- Files within the directory that you want to exclude from your backup will not be excluded.
Console: Use substitution variables
Substitution variables offer cross-platform shortcuts to common user and system folders. Instead of identifying each user folder by name, you can use substitution variables.
Use substitution variables to specify the types of files or locations in the directory field. These variables are applied in the following situations:
- When the Code42 app software is first installed
- When system-wide Device Default settings are pushed
- When a specific device's settings are modified to include the variable
When the variable is applied, then the specific device's settings replace the variable with the explicit list of the corresponding files and folders.
Substitution variables are case-sensitive. As a best practice, add separate inclusions/exclusions for each case-combination that exists on users’ devices (for example, both “My Documents” and “my documents”).
||Main volume (For example: C:\ on Windows or / on Unix or Mac)|
||Default applications folder for the device's OS (functions on all platforms)|
||User’s home folder|
||User’s desktop folder|
||User’s default document folder|
||User’s music folder|
||User’s pictures folder|
||User’s movies folder|
Includes the parent Users folder (For example: C:\Users\ on Windows, /Users/ on Mac, or /home/ on Linux)
||All users' desktop folders at the time the Code42 app is installed|
||All users' default document folders at the time the Code42 app is installed|
||All users' default music folders at the time the Code42 app is installed|
||All users' default pictures folders at the time the Code42 app is installed|
||All users' default movie folders at the time the Code42 app is installed|
Substitution variable example
User laptops at ABC Company are deployed with a directory under the user's home directory called “WorkFolder”. Users have been instructed to store their important files in WorkFolder so that this is backed up.
Some users also have certain confidential documents on their systems. These documents cannot be backed up due to compliance reasons and users are instructed to store those confidential documents in a directory called Private. In this example, we include the WorkFolder but exclude the Private folder.
In the case of a specific device, Joe's MacBook Air, the result of applying the variables looks like:
And on Jill's Windows PC, the end result of the same variables is:
C:\Documents and Settings\Jill\WorkFolder\
C:\Documents and Settings\Jill\WorkFolder\Private\
Exclude files from backup
In the Code42 console, you can specify filename patterns to exclude by default for all users in your CrashPlan for Small Business environment. Go to Device Backup > Backup. Enter exclusions in Filename Exclusions.
The default settings for some of these exclusions are often satisfactory for most customers. You may wish to add additional inclusions and exclusions tuned to your needs.
Code42 app and Code42 console: Regular expressions
Regular expressions are a complex but powerful way of designating files to be excluded from backup. Each expression you provide is always matched against the absolute path of the file, which requires that you take the full file path into account when you exclude files.
Code42 for Enterprise always uses
/as the file separator character.
Here's an example: Consider the absolute path: /Users/Peter/Documents/examples/regex.txt. You could exclude the file with:
||All text files in all directories will be excluded, case-sensitive|
||Same as previous, case-insensitive|
||Text files in examples folder are excluded, case-insensitive|
||Text files in Peter's home directory are excluded, case-insensitive|
||Text files contained in User's home directory within an examples folder are excluded, case-insensitive|
Make sure the 'Regular Expressions' checkbox is selected if you want to use regular expressions. All entries will be evaluated accordingly.
Test your changes
We always recommend testing your file inclusion and exclusion changes prior to deploying in a production environment. To test your exclusions on a test system:
- Apply your exclusions by Pushing your settings changes.
- Manually start a file scan verification from the Backup Set Settings Menu by selecting Scan for file changes. You must complete a file scan verification before the inclusions/exclusions take effect.
- Trigger Archive Maintenance for the test system's backup archive:
- Go to the test system's Device detail screen.
- Select Maintain Archive from the Archive action menu.
- View the files in the backup archive from restore from the console or from the desktop.
Following the above process in a test environment lets you see which files remain backed up before making changes in your production environment. Always verify in a test environment before making any changes.
In the System-wide Device Defaults, there are two ways to apply settings from the Code42 console: save and push.
- Saving a setting applies it for new devices in the future. Saving settings does not affect any existing devices.
- Pushing a setting changes it on user devices, but still allows users to change the setting later.
|Applies changes to future devices||Applies changes to existing devices||Allows users to change settings|
Click Save to save settings for new devices in the future. Saving settings does not affect any existing devices.
Click Push (to the right of the inclusion and exclusion settings) to send your settings to users without replacing the filename patterns that users have already entered, merging the user and administrative file selections.
Pushing a setting only applies additive changes. Therefore, if you try to remove a path from the included or excluded files field and click Push, that path won’t be removed from existing devices.
Apply settings considerations
- When editing settings for a single device, any changes are automatically pushed to that device.
Several examples are included here. Refer also to https://support.code42.com/Small_Business/Configuring/Exclude_or_filter_files_using_file_type_and_regular_expressions for even more information on regular expressions.
In the following examples, the parent directories for the excluded files must have already been added to the file inclusions list.
Example 1: Exclude files ending with .mp3
This pattern means any character (the dot) for any number of times (the star) ending with ”.mp3”. The dot in mp3 is escaped with a backslash.
Any pattern beginning with (?i) indicates a case-insensitive search. This example will match both .mp3 and .MP3.
Example 2: Exclude folders starting with IMAP
As above, any characters until a directory starting with IMAP followed by any characters. Note that Code42 for Enterprise treats all file separators as forward slashes (/).
Because these types of regular expressions are often extremely complex, it is especially important to test any regular expressions thoroughly prior to deployment in a production environment.