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.
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
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
