Command Line Interface for Linux

Introduction

CloudBerry Backup command line interface allows to back up and restore files from cloud storage, edit global options, list backup plans and account, etc. Command line interface can be used for integrating backup process into production environment.

CloudBerry Backup command line interface is implemented by a little tool called cbb.

To try it out run Linux terminal session.

How to Install on Linux OS

  1. For Ubuntu: sudo dpkg -i /PATH/package_name
  2. For others: sudo rpm -i /PATH/package_name

Activating CloudBerry Backup

Activate product or request trial

  1. Activate a commercial license. (Email & key are required):cbb activateLicense -e "email" -k "license_key"

    (where "email" is your personal email and "license_key" is your license key that you received when buying the product).

  2. Request trial license. (Email is required):cbb activateLicense -e "email" -t

Offline activation

If you don't have an ability to activate CloudBerry Backup online you can use offline activation.

  1. Generate offline license request using your email and license key:cbb activateLicense -e "email" -k "license_key" -or

    (where "email" is your personal email and "license_key" is your license key that you received when buying the product).

    As an output you will get a service key.

  2. Send the service key to support@cloudberrylab.com. You will receive the activation key by email.
  3. Activate license keycbb activateLicense -e "email" -k "license_key" -oa "activationkey_received"
  4. The product is activated.

License commands (activateLicense)

Use the following command to find more details:

cbb activateLicense ?
Parameter Description Value
-e(mail) Email for license activation
-k(ey) License Key
-t(rial) Request trial license pro, ultimate
-free Request free license
-un User name to register free license
-or Generate offline license request. Email & key are required. Request should be send via email to support@cloudberrylab.com
-oa Offline license activation key. You should receive this key via email in response to offline request, or free license registration.

Release license (releaseLicense)

cbb releaseLicense

Freeware version (200GB limit for cloud backup, 1TB limit for local backup; no compression/encryption):

cbb activateLicense -e "email" -free -un userName

where: -un - user name to register freeware version.

You will get a registration key by email and the next step will be to register:

cbb activateLicense -e "email" -free -oa RegistrationKey

Managing Accounts

Create account (addAccount)

First of all, you need to configure a backup storage account. Run the cbb addAccount command where to specify storage type (-st), its credentials and an account display name (-d):

-st storageType: AmazonS3, Azure, FileSystem, Openstack, OracleCloud, SoftLayer, Rackspace, HPCloud, HPHelion, Google

Add Amazon S3 cloud storage account:

cbb addAccount -d DisplayName -st AmazonS3 -ac AccessKey -sk SecretKey -c BucketName [-bp BackupPrefix] -ssl

Add Azure Blob cloud storage account:

cbb addAccount -d DisplayName -st Azure -ac AccountName -sk SharedKey -c ContainerName [-bp BackupPrefix] -ssl

Add Google Cloud cloud storage account:

  • using access/secret keys:cbb addAccount -d DisplayName -st Google -ac AccessKey -sk SecretKey -c BucketName [-bp BackupPrefix] -ssl
  • using service account (OAuth):cbb addAccount -d DisplayName -st Google -se ServiceAccountEmail -pk PathToPrivateKeyFile -pi ProjectID -c BucketName [-bp BackupPrefix] -ssl

Add OpenStack storage account:

cbb addAccount -d Display_Name -st Openstack <-un UserName> <-ak ApiKey> <-c BackupContainer> <-ep Endpoint> [-useInternalUrl ] [-reg Region] [-bp BackupPrefix] <-kv no> | <-kv 2 <-tn TenantName | -ti TenantID> > | <-kv 3 [-us <-pn project_name> | <-pi project_id>] <-dn DomainName | -di DomainID>>

where

  • -kv is a Keystone authentication version-us is "Use scope" option that is used for Keystone version 3 only (possible values: yes / no)-reg is a region of storage datacenter

You can also add a particular OpenStack compatible storage account like OracleCloud, SoftLayer, Rackspace. HP Cloud.

Use the following commands to get more information:

cbb addAccount -d Display_Name -st OracleCloud -h

Supported regions (-reg):

  • US Commercial 1 (us1)
  • US Commercial 2 (us2)
  • APAC Commercial 1 (ap1)
  • APAC Commercial 2 (ap2)
  • EMEA Commercial 1 (em1)
  • EMEA Commercial 2 (em2)
  • EMEA Commercial 3 (em3)
cbb addAccount -d Display_Name -st SoftLayer -h

Supported regions (-reg): Amsterdam, Frankfurt, Hong Kong, London, Melbourne, Mexico, Milan, Montreal, Paris, San Jose, Sao Paolo, Sydney, Singapore, Tokyo, Toronto, US Dallas

cbb addAccount -d Display_Name -st Rackspace -h

Supported regions (-reg): US-based, UK-based.

cbb addAccount -d Display_Name -st HPCloud -h

Add file system storage account for local backup:

cbb addAccount -d DisplayName -st FileSystem -c Path [-bp backup_prefix]

where: -bp - a backup prefix (a computer name by default). It is an advanced option that is used to identify backup for a specific computer.

Edit account (editAccount)

To edit account use the cbb editAccount command:

  • for Amazon S3:cbb editAccount -d displayName [-n newDisplayName] [-ac accessKey] [-sk SecretKey] [-c BucketName] [-bp BackupPrefix] [-ssl ]
  • for Azure Blob:cbb editAccount -d displayName [-n newDisplayName ] [-ac AccountName] [-sk SharedKey] [-c ContainerName] [-bp BackupPrefix] [-ssl ]
  • for Google Cloud:cbb editAccount -d displayName [-n newDisplayName ] [-ac AccountName] [-sk SharedKey] [-c ContainerName] [-bp BackupPrefix] [-ssl ]
  • for OpenStack: cbb editAccount -d displayName [-n newDisplayName] <-un UserName> <-ak ApiKey> <-c BackupContainer> <-ep Endpoint> [-useInternalUrl ] [-reg Region] [-bp BackupPrefix] <-kv no> | <-kv 2 <-tn TenantName | -ti TenantID> > | <-kv 3 [-us <-pn project_name> | <-pi project_id>] <-dn DomainName | -di DomainID>>
  • for File System:cbb editAccount -d displayName [-n newDisplayName] [-c Path] [-bp BackupPrefix]

Delete account (deleteAccount)

To delete account use the cbb deleteAccount command:

cbb deleteAccount AccountName1, AccountName2,…

List accounts (account -l)

To list accounts, use the command:

cbb account -l

Synchronise accounts (account -sync)

Sync local database with a cloud storage account:

cbb account -sync "accountname"

Managing Plans

Create backup plan (addBackupPlan)

To create a backup plan, use the cbb addBackupPlan command.

For example, you are going to:

  • backup all the files from the "/home/NAME/Documents/" directory;
  • exclude the "/home/NAME/Documents/books/" folder;
  • use compression;
  • run every workday at 23:00;
  • receive notification on completion:
cbb addBackupPlan -n "Backup my docs" -a "myaccount" -f "/home/NAME/Documents/" -ef "/home/NAME/Documents/books/" -c yes -every week -at "23:00" -weekday "mo, tu, we, th, fr" -notification on

To get general help for the commands, run the following command:

cbb addBackupPlan

Output:

cbb addBackupPlan -n planName -a [-en ] [[-rrs ] | [-standardIA ]] [-sse ] -f -ef [-es ] [-c ] [-ea -ep password] [-bef ] [-purge delete_after_time -dlv -keep keep_versions_number] [-dl ] [[[-every [day, week, month, dayofmonth] <-workTime xx:xx-xx:xx -recurrencePeriod period | -at timeOfDay>] [-day [1..31]] [-weekday list ofWeekDays] [-weeknumber weeknumber]] | -at onceDateTime]] [-notification ] [-subject Subject]

Note: the sequence of parameters is strongly fixed.

The output contains special parameters, where:

Backup Settings

  • -n - a plan name
  • -a - a display name of the backup storage account (the -n param in addAccount command)
  • -en - enable a plan after creation. Possible values: yes (default) | no
  • -rrs - use RRS. Possible values: yes | no (default)
  • -standardIA - use Standard-IA. Possible values: yes (default) | no
  • -sse - use SSE. Possible values: yes (default) | no
  • -f - file or folder to back up. To specify multiple files/folders, use -f for every file/folder.

    Example:

    -f "/home/USERNAME/Downloads/stats.txt" -f "/home/USERNAME/Downloads/WeeklyReports"
  • -ef - exclude a file or a directory from a backup procedure. To exclude more than one object, use -ef for each object.

    Example:

    -f "/home/USERNAME/Downloads/stats.txt" -f "/home/USERNAME/Downloads/WeeklyReports"-ef "/home/USERNAME/Downloads/WeeklyReports/Sunday"-ef "/home/USERNAME/Downloads/WeeklyReports/unrelated.txt"
  • -es - exclude system files from the backup procedure. Possible values: yes (default), no. The following folders will be excluded: /bin; /boot; /cdrom; /dev; /etc; /media; /lib; /lib64; /lost+found; /mnt; /opt; /proc; /run; /sbin; /srv; /tmp; /usr; /var.
  • -c - use compression. Possible values: yes, no (default).
  • -ea - enable encryption and set an encryption algorithm to use. Possible values: AES_128, AES_192, AES_256. Used only with -ep parameter.
  • -ep - encryption password. Used only with -ea parameter.

    Example:

    -ea "AES_128" -ep "qwerty123"
  • -bef - back up empty folders. Possible values: yes, no (default).

Retention Settings

  • -purge - purge versions that are older than the defined period (except the latest version). Possible values: d(day), w(week), m(month).
  • -dlv - delete the last version if it is older than the defined period. Possible values: yes, no.
  • -keep - keep a limited number of versions. Possible values: number.
  • -dl - delete files that have been deleted locally. Possible values: yes, no.
  • -dld - keep the files deleted locally for the specified number of days in case you relax the purge settings and the files become valid again. Possible values: number of days.

Example: keep only 3 file versions

-keep 3

Example: keep file versions during 1 week without keeping the last version

-purge 1w -dlv

Schedule Settings

Schedule settings allow you to run backup at a certain time (-at) or to have a recurring backup (-every).

Note: Time is set in UTC:

  • -every - specify a recurring schedule. Possible values: day, week, month, dayofmonth. Two types of schedules: recurring at a certain time (use with -at) and recurring from / to time within a period (use with -workTime in format hh:mm-hh:mm and -recurrencePeriod in minutes).
  • -workTime - specify a time when a plan can be running. Format xx:xx-xx:xx. Example 1: 12:32-17:00; Example 2: 23:00-04:00; may be used for each recurring shedule, used only with -recurrencePeriod and without -at.
  • -recurrencePeriod - specify recurrence period in minutes.
  • -at - specify datetime or time of a schedule. Example: -at "16.02.2015 12:32" or -at "12:32" for each recurring schedule.
  • -every day

    Example (with -at):

    -every day -at "12:31"

    Example (with -workTimeand -recurrencePeriod):

    -every day -workTime "12:00-16:00" -recurrencePeriod 15
  • -every week - run every week on a specified day(s) of the week. Used with the -weekday listOfWeekDays parameter. Specify the day(s) of the week for a week schedule: "su, mo, tu, we, th, fr, sa". Use the same options to run -at or with -worktime and -recurrencePeriod.

    Example:

    -every week -at "13:00" -weekday "mo,su"
  • -every month - run every month in a specified day(only one day in a month). You need to specify -weekday and -weeknumber. Possible values: First | Second | Third | Fourth | Penultimate | Last. And the same options to run -at or with -worktime and -recurrencePeriod.

    Example:

    -every month -at "14:00" -weekday "mo" -weeknumber "Last"
  • -every dayofmonth - run every specified day in a month. You need to specify -day. Possible values: 1..31.

    Example:

    -every dayofmonth -at "03:00" -day 30
  • -r - run the plan immediately:

    Example:

    cbb plan -r "plan_name"

Notification Settings

  • -notification - specify to receive notification email when backup fails (errorOnly) or in all cases (on). Possible values: errorOnly (default) |on.
  • -subject - specify a subject of notification email. Available macroses: %COMPUTER_NAME%, %RESULT%, %PLAN_NAME%.

    To set an email for notification, run the following command:

    cbb option -set notification -e "email" -u "userName"

Create restore plan (addRestorePlan)

To create a restore plan use the cbb addRestorePlan command.

For example, you are going to restore only new files from "/" folder with sync before restore, to /home/link/workspace/testRestore/. Files are encrypted with the pass = qwert123. Run restore every day at 11:40:

cbb addRestorePlan -n "RestorePlan" -a "myaccount" -sy yes -f "/" -ep "qwert123" -se no -ol no -de "/home/link/workspace/testRestore/" -on yes -every day -at "11:40"

To get general help for the commands, run the following command:

cbb addRestorePlan

Output:

cbb addRestorePlan -n planName -a -en [yes|no] -sy [yes|no] -rt [LatestVersion|[PointInTime date]] -f [-ep password] [-se yes|no] [-ol yes|[no -de location] [-on yes|no] [[[-every [day, week, month, dayofmonth] <-workTime xx:xx-xx:xx -recurrencePeriod period | -at timeOfDay>] [-day [1..31]] [-weekday list OfWeekDays] [-weeknumber weeknumber] ] | -at onceDateTime] ] [-notification [errorOnly | on | off]] [-subject Subject]

Note: the sequence of parameters is strongly fixed.

The output contains special parameters, where:

Restore Settings

  • -n - a plan name.
  • -a - a display name of the backup storage account (the -n param in addAccount command).
  • -en - enable a plan after it has been created. Possible values: yes (default) | no.
  • -sy - sync before restoring. Possible values: yes| no (default). You need to sync prior to restoring if you set up a restore plan on a computer that is different from the one you have run a backup on.
  • -rt - a restore type. Possible values: LastVersion (default) | PointInTime. For PointInTime you need to specify a timestamp. Example: -rt PointInTime "16.02.2015 12:32"
  • -f - restore a file or a folder. Specify a full path to the file or folder that you are going to restore. To restore multiple objects, use multiple -f parameters.

    Example:

    -f "/home/USERNAME/Downloads/file" -f "/home/USERNAME/Downloads/Folder"
  • -ep - a decryption password.
  • -se - skip existing files. Possible values: yes (default) | no.
  • -ol - restore to the original location. Possible values: yes | no.
  • -de - specify a restore destination, used only with the -ol = no.

    Example:

    -ol no -de "/home/USERNAME/anotherFolder/"
  • -on - restore only new files. Possible values: yes (default) | no.

Schedule settings

The schedule settings for the restore process are the same as for the backup process.

Notification settings

The notification settings for the restore process are the same as for the backup process.

Plan commands

You can also delete, enable/disable a plan, list plans.

To list all the existing plans, use the cbb plan -l command.

To get details for a particular plan, use the cbb getPlanDetails -n PlanName command.

To run a plan, use the cbb plan -r PlanName command.

To stop a plan, use the cbb plan -s PlanName command.

To get details how to edit a backup plan, use the cbb editBackupPlan -h command.

To get details how to edit a restore plan, use the cbb editRestorePlan -h command.

To delete a plan, use the cbb deletePlan -n PlanName command, where:

-n - a plan name.

To enable/disable a plan, use the cbb changePlanState -n PlanName -s on | off command, where:

-n - a plan name.

-s - plan state. Possible values: on | off.

Configuration commands

Bandwidth settings (option -set bw | bwl)

To set bandwidth limit for backup, use the following command:

for cloud backup: cbb option -set bw limitValue

for local backup: cbb option -set bwl limitValue

Note: a bandwidth limit is applied for each backup plan.

Troubleshooting

Send log (sendLog)

Use the following command to report an issue or send any feedback:

cbb sendLog -u username -e email -m message

where:

  • -u - a user name (any)
  • -e - an email address to which the log entry should be sent.
  • -m - a short description of the issue/feedback

Example:

cbb sendLog -u "John Smith" -e "john.smith@company.com" -m "There is an error during creating backup plan..."

To get general help for the commands, run the cbb command.

Integrated help usage (-h)

Use the following command to find more details for supported commands:

cbb -h

How to Uninstall

For Ubuntu: sudo dpkg -r cloudberry-backup

For others: sudo rpm -r cloudberry-backup