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:
- Add User Account
- Synchronize Account
- Create Backup Plan
- Create Restore Plan
- Manage Plans
- Troubleshoot and Report Issues
- Logging Level
- Configure Proxy Settings
- Uninstall Backup Agent
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
- -a—AccountID 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
-a—AccountID 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
- Delete the file which starts the daemon:
sudo rm /Library/LaunchDaemons/cloudBackup.plist
- Delete folders:
sudo rm -r /Applications/ABC Backup.app/ /opt/local/ABC Backup/
- Kill the daemon:
sudo killall cbbDaemon