Command Line Interface in Backup Agent for macOS

This chapter contains CLI commands used in Backup Agent for macOS.

View the available actions in CLI:

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 for 1 week without keeping the last version

-purge 1w -dlv

Schedule Settings

Specify schedule settings to run the backup or restore plan at a certain time or on a regular basis (recurring schedule). The time zone for backup and restore 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 on 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 perform a sync prior to the restore if you restore data onto a computer with a different configuration

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

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
https://git.cloudberrylab.com/egor.m/doc-help-mbs.git