Command Line Interface in Backup Agent for macOS

This chapter contains CLI commands used in Backup Agent for macOS and covers the following topics:

Start a Terminal session and navigate to the application folder:

cd /Applications/yourAppName.app/Contents/MacOS

Add User Account

First of all, you need to configure a user account. Run the ./cbb addAccount command where you need to specify your MBS user email and password:

./cbb addAccount -e UserEmail -p Password

Synchronize Account

To syncronize account, use the following command:

./cbb account -sync "accountname"

List your current accounts with the following command:

./cbb account -l

To edit an account, use the following command:

./cbb editAccount -d accountName

Create a Backup Plan

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 weekday 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"

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

./cbb addBackupPlan

Output:

addBackupPlan -n planName -a accountName | accountID [-en [yes|no]] [-rs [yes | no] [-se [yes | no] -f <pathToFile | pathToDir> -ef<pathToFile | pathToDir> [-es [yes | no]] [-c [yes | no]] [-ea [AES128] -ep password] [-bef [yes | no]] [[[-every [day, week, month, dayofmonth] <-workTime xx:xx-xx:xx -recurrencePeriod period | -at timeOfDay>] [-day [1..31]] [-weekday listofWeekDays] [-weeknumber weeknumber] ] | -at onceDateTime] 

Note: the sequence of parameters is strongly fixed.

The output contains special parameters, where:

Backup Settings

  • -n—a plan name
  • -aAccountID or AccountName. You can find it the Management Console. On the Storage Accounts page, refer to the Display Name column)
  • -en—enable a plan after creation. Possible values: yes (default), no
  • -rs—use RRS (Amazon S3 only). Possible values: yes, no (default)
  • -se—use SSE (Amazon S3 only). Possible values: yes, no (default)
  • -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:

-ef "/home/USERNAME/Downloads/WeeklyReports/Sunday"
-ef "/home/USERNAME/Downloads/WeeklyReports/unrelated.txt"
  • -es—exclude system files from the backup. 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 an -ep parameter.

  • -ep - encryption password. Used only with an -ea parameter.

Example:

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

Retention Settings

  • -purge—purge backup 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 files that were deleted locally for the specified number of days. 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

Specify schedule settings ato run backup plan at a certain time or on a regular basis (recurring schedule). The time zone for backup plans is UTC.

The following arguments are available:

  • -at—specify datetime or time of a schedule. Example: -at "16.02.2015 12:32" or -at "12:32" for each recurring schedule
  • -every—specify a recurring schedule. Possible values: day, week, month, dayofmonth. Two types of schedule settings are available:
    • recurring at a certain time (use with -at)
    • recurring from/to time within a specified period (use with -workTime in format hh:mm-hh:mm and -recurrencePeriod in minutes).
  • -every day

Example (with -at):

-every day -at "12:31"

Example (with -workTime and -recurrencePeriod):

-every day -workTime "12:00-16:00" -recurrencePeriod 15
  • -every week—run the backup plan 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

Create a Restore Plan

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:

addRestorePlan -n planName -a accountName | accountID -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] 

Note: the sequence of parameters is strongly fixed

The output contains special parameters, where:

Restore Settings

  • -n—a plan name

  • -aAccountID or AccountName. (You can find it on the MBS control panel. Go to the "Storage Accounts" tab, refer to the Display Name section.)

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

Refer to the Schedule Settings paragraph. The schedule settings for the restore process are the same as for the backup process.

Notification Settings

Refer to the Notification settings paragraph. The notification settings for the restore process are the same as for the backup process.

Manage Plans

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

To list all the existing plans, use the ./cbb listPlans 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—a plan state. Possible values: on, off.

Troubleshoot and Report Issues

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

./cbb sendLog -u username -m message

where:

  • -u—a user name (any)
  • -m—a short description of the issue/feedback.

Example:

./cbb sendLog -u "John Smith" -m "There is an error during creating backup plan..."

To save the logs locally, execute the following command:

./cbb saveLog -p path

where:

  • -p—the target directory for your logs.

Example:

./cbb saveLog -p ~/Desktop

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

Logging Level

You can change the logging level using the command line interface. To do this, use the following command:

/Applications/Online Backup.app/Contents/MacOS/cbb" option -set logging -mode High

Note that Online Backup.app part of the path may differ according to the path selected for the installation

Possible values for -mode parameter:

  • Low
  • High
  • Debug

Configure Proxy Settings

To configure proxy settings, run the following command:

./cbb option -set ps -pt type -pa address -pp port -pu user -ps password

where:

  • -pt is the proxy type. Possible values: no, manual
  • -pa is the proxy address
  • -pp is the proxy port
  • -pu is the proxy username
  • -ps is the proxy user password.

Uninstall Backup Agent

To Uninstall Backup Agent

  1. Delete the file which starts the daemon:
sudo rm /Library/LaunchDaemons/cloudBackup.plist
  1. Delete folders:
sudo rm -r /Applications/ABC Backup.app/ /opt/local/ABC Backup/
  1. Kill the daemon:
sudo killall cbbDaemon