Share

Project Backups




Backup Categories

The project data consisting of the information you find in the Media Panel is stored in the catalog folder under the project home. Each workspace (.#workspace.000.wks), and each library (<library name>.000.clib) is stored in a separate file. This information is automatically backed up in two different ways.



Backups on Save

On every save operation, either automatic or manual, a backup of the previous file is saved using a rotation mechanism. The .### in the file name indicates the version of the file. The .000 version is current while the .003 version is the oldest backup. When saving, the .003 version is dropped and replaced by the former .002 version, the .002 version replaced by the .001 version and so on. Note that each workspace and library file is generally accompanied by a .wks_hist or .clib_hist folder with a corresponding version number. These folders contain the effects data (aka clip history) for these files.



Backups on Launch

On every successful project launch of the Flame Family application, a backup of the shared libraries and selected workspace is made in the catalog_AUTO_BACKUP folder. The shared libraries are backed up in the <project name> subdirectory using a similar rotation mechanism as the backups on save. Likewise, the workspace files are saved in the <workspace name> subdirectory. In each of these subdirectories, versioned backup.<version> subdirectories hold the backups as .tzst files (zstd-compressed tarballs). You may come around unconfirmed.<version> subdirectories. Those are created when the backup process failed. Very often, the failures are benign, and are caused by backed up files changing before the process has completed. The backups are generated by a background process, so this situation is bound to happen regularly. It typically does not invalidate the backups and this is why they are kept.

Important: Successfully launching a project does not guarantee that all files are valid since some files may not get loaded. For instance, libraries that were closed the last time the application exited will remain closed at launch. You may also have opted to launch with all libraries closed (Shift-Start).


Media Cache Database

The project backup at launch also takes a snapshot of the media cache database and stores it next to the .tzst tarballs under the <project name> subdirectory. The procedure to restore these backups is outlined here.




Recovering Using a Backup

In situations where a workspace or library becomes missing, unloadable or you may have deleted something by mistake, you will want to restore the previous state of the file. The backups created on save are the most recent versions of a file and should be tried first, keeping the backups at launch as a last resort. Before initiating a backup recovery, it is also important to stop any application working with the project and to rename the current set of backups on launch to prevent accidentally overwriting them.



Step 1

Stop all applications using the project to be recovered.



Step 2

Rename the current set of launch backups (replace <project home> with the path to your project's home directory):

cd <project home>
mv catalog_AUTO_BACKUP catalog_KEEP


Step 3

Locate the file to be recovered under the catalog directory, some of:

File Content
.#project.000.clib Project root, holds project settings
Shared Libraries.000.clibs Scanning instructions for shared libraries
<library name>.000.clib A shared library and its entries
<library name>.000.clib_hist A shared library's history
<workspace name>/.#workspace.000.wks A workspace's desktop entries
<workspace name>/.#workspace.000.wks_hist A workspace's desktop entries' history
<workspace name>/Libraries.000.clibs Scanning instructions for workspace libraries
<workspace name>/<library name>.000.clib A workspace library and its entries
<workspace name>/<library name>.000.clib_hist A workspace library's history


Step 4

To recover a previous version, try the different versions incrementally until one proves satisfactory. File timestamps can also be used to select an appropriate version. Here iss an example showing how to substitute library "MyClips" from workspace "Workspace" with its previous 2 backups until a suitable one is found:

Example : Recovering rotated backups in a workspace

# Make the workspace directory current.
cd <project home>/catalog/Workspace.wksp

# Preserve the current version in case it is later needed by customer support.
mv MyClips.000.clib MyClips.000.clib.preserve
mv MyClips.000.clib_hist MyClips.000.clib_hist.preserve

# Rename the first backup.
mv MyClips.001.clib MyClips.000.clib
mv MyClips.001.clib_hist MyClips.000.clib_hist

# Launch Flame using the icon and verify if library MyClips can be opened and
# holds what is needed. We assume here that it is not the case and proceed with
# the next backup.

# Preserve the current version with its original version number in case it is
# later needed by customer support.
mv MyClips.000.clib MyClips.001.clib.preserve
mv MyClips.000.clib_hist MyClips.001.clib_hist.preserve

# Rename the second backup.
mv MyClips.002.clib MyClips.000.clib
mv MyClips.002.clib_hist MyClips.000.clib_hist

# Launch Flame using the icon and verify if library MyClips can be opened and
# holds what is needed. Assuming it does, no additional steps are needed.
# If not, repeat with the 3rd backup and if that also fails, proceed with Step 5.

# When the recovery is successfully completed, remove the safeguarded files.
rm -rf MyClips.*.preserve
Warning: The recovered backup may contain clips that were deleted from the media cache. Unlink and then relink deleted source clips, and re-render clips referencing these sources to fully recover them.


Step 5

If step 4 was unsuccessful, older versions of the file can be recovered from the launch backup tarballs. Whether the file is a workspace file or a shared project file, a different tarball will be used. The catalog_KEEP folder from Step 2 contains one set of project-level backups and one set of backups for each workspace. Select the appropriate backup for what needs to be recovered based on the time the backup was created. The backup tarball will also contain versions 000 to 003 of every file.

Example : Recovering version 003 of a shared library from backup.001

# Make the project home directory current (substitute <project home>).
cd <project home>

# Inspect the tarball to identify, using its date and time, the backed-up
# version to restore (substitute <project name>).
tar tvf catalog_KEEP/<project name>/backup.001/<project name>.tzst

# Preserve the version to be recovered in case it is later needed by customer
# support. We assume here that version 003 is the one to restore. If Step 4
# above was performed, execute these two commands:
mv catalog/SharedClips.000.clib catalog/SharedClips.003.clib.preserve
mv catalog/SharedClips.000.clib_hist catalog/SharedClips.003.clib_hist.preserve
# Otherwise, execute these four commands to safeguard the current and third
# versions of the library:
mv catalog/SharedClips.000.clib catalog/SharedClips.000.clib.preserve
mv catalog/SharedClips.000.clib_hist catalog/SharedClips.000.clib_hist.preserve
mv catalog/SharedClips.003.clib catalog/SharedClips.003.clib.preserve
mv catalog/SharedClips.003.clib_hist catalog/SharedClips.003.clib_hist.preserve

# Restore the backup from the tarball
tar xvf catalog_KEEP/<project name>/backup.001/<project name>.tzst '**/SharedClips.003*'

# Replace the current version with the third backup
mv catalog/SharedClips.003.clib catalog/SharedClips.000.clib
mv catalog/SharedClips.003.clib_hist catalog/SharedClips.000.clib_hist

# Launch Flame using the icon and verify if library SharedClips can be opened and
# holds what is needed. Assuming it does, no additional steps are needed.
# If not, repeat with an older backup tarball, such as backup.002 and backup.003.
# Also consider 'unconfirmed' backups.

# When the recovery is successfully completed, remove the safeguarded files.
rm -rf catalog/SharedClips.*.preserve

Was this information helpful?