Account Backups

Account Backups

Each account backup is a separate, self-contained backup file encapsulating a single Centova Cast account. Both client accounts and reseller accounts can be backed up using the account backup system.

Creating an Account Backup

Client or reseller account backups are created using the backup command of the ccmanage or sumanage utilities. For example:

/usr/local/centovacast/bin/ccmanage backup --username=USERNAME

Upon completion, this command will output the filename(s) of any backup files created.

The backup command supports the following arguments:

  • --nologs
    Specifies that backup files should not include log files. (Specifically, the backup will exclude the client's var/log/ subdirectory.)

  • --nocontent
    Specifies that backup files should not include user content such as media files, cover images, etc. (Specifically, the backup will exclude the client's var/spool/ and var/www/ subdirectories.)

    This option is provided because including these types of files in the backup is inefficient and can cause backup files to be inordinately huge in size, sometimes even exceeding file size limits imposed by the underlying filesystem. Often a better solution is to create the backup files with --nocontent, and use another solution such as rsync to separately copy the media files to a backup location.

One of the following arguments must be specified to indicate which account(s) should be backed up:

  • --username=USERNAME
    Creates a backup file for a single, specific account in Centova Cast.

  • --reseller=USERNAME
    Creates a backup file for a specific reseller account in Centova Cast, plus individual backup files for each client account owned by this reseller.

  • --users
    Creates individual backup files for each and every client account in Centova Cast.

  • --resellers
    Creates individual backup files for each and every reseller account in Centova Cast (but not the client accounts owned by each reseller).

  • --all
    Creates individual backup files for each and every account in Centova Cast.

Note that if you are using a single Centova Cast web interface server to control multiple backend hosting servers, the backup command must be invoked on the web interface server. The backup files will, however, be created on the individual backend hosting servers, and the filename(s) displayed will indicate the location of the backup file(s) on the backend hosting server.

Restoring an Account Backup

Client or reseller account backups can be restored using the restore command of the ccmanage or sumanage utilities. For example:

/usr/local/centovacast/bin/ccmanage restore --filename=/path/to/backup.zip --rpchostid=1

The restore command supports the following parameter:

  • --filename=/path/to/backup.zip (required)
    Specifies the complete pathname to the backup file to be restored.

  • --rpchostid=n (required unless restoring a reseller account)
    Specifies the ID number of the Centova Cast hosting server on which the backup should be restored.

    If your Centova Cast streams are hosted on the same server as the Centova Cast web interface (and if you are unsure, this probably applies to you), use --rpchostid=1.

    If you are using a single Centova Cast web interface server to control multiple backend hosting servers, you can obtain the host ID number for the target server under Management->Hosts in the Centova Cast admin area.

  • --username=NEWNAME
    Specifies an alternate username for the restored account. If not specified, the original username for the account will be used.

  • --reseller=USERNAME
    Specifies the username of the reseller account to which the restored account should be assigned.

  • --nointegrity
    Skip the integrity check for the database backup. Not recommended and typically should not be required.

  • --novalidate
    Skip the signature validation for this backup. By default, for security reasons, a backup can only be restored to the same Centova Cast server that created it. Disabling signature validation will allow the backup to be restored regardless of which server it was created on.

  • --overwrite
    Overwrite any existing account with the same username if it exists. By default, if an account with the same username already exists, the restoration will fail with an error to avoid potential data loss.

Note that if you are using a single Centova Cast web interface server to control multiple backend hosting servers, the restore command must be invoked on the web interface server. The backup files must exist on the target backend server, however (specifically, the server specified using --rpchostid), and the filename provided with the --filename argument must specify the path to the backup file on the backend server.

Reseller Account Backups

Reseller accounts may be backed up and restored in the same manner as client accounts. Note that a reseller account backup file does not include backups of its individual client accounts.

During restoration, client accounts are not automatically restored to their original parent reseller; the --reseller option must be passed to the restore command to indicate the account should be owned by a given reseller. Note that this also implies that the reseller account must be restored prior to restoring its client accounts. If the --reseller is not specified when restoring a client account, the client account will be restored as an independent account that is not owned by any reseller.

Technical Details

Account Backup File Contents

An account backup is just a zip file; Centova Cast does not use any unusual proprietary formats for its backup data. A backup contains all the user's files (including the server/source configuration files, media files, logs, etc.), a database dump in a custom format internal to Centova Cast (which is necessary because a standard SQL dump would cause key conflicts upon restoration), and some metadata files.

Backups contain ALL data relevant to the account -- the account configuration, bandwidth limits/disk quota settings, statistics, media files, playlists, etc.

How Restorations are Performed

Backups can be created on one Centova Cast server and restored to the same server, or copied to another Centova Cast server and restored there. During restoration of a client account, Centova Cast will change the IP address of the stream to the local machine's IP address, and will change the port (if needed) to an available port, but everything else will remain unchanged and should yield a copy of the account on the new server that is completely identical to the original.

Backups are cryptographically signed using a key that's unique to the Centova Cast server that created them. By default, the restore command will reject any backups that weren't created by the same server. This is so that (in future, when backup/restore functionality is made available directly to users) users won't be able to restore backups created on other servers that have configurations not permitted on the target server. This limitation can be bypassed by administrators by passing the --novalidate parameter, which will allow the restoration of backups from other servers.


Previous: Backups
Section: Backups
Next: Host Backups