Support

Documentation Akeeba Backup – User's Guide

Options

Under any circumstances you can append -m or --machine-readable to the end of the command line to instruct Remote CLI to use a machine-readable output format. If you omit it, a human-readable format will be used instead (default).

Using the option --nocolor will skip the generation of color escape sequences. The default behaviour of Remote CLI is to color-code its output for easier reading. However, some terminal emulators, like Windows' command prompt application, do not support them and display them as verbatim text. This can be confusing, therefore the use of --nocolor is strongly recommended.

Moreover, you can specify the --license parameter to display the text of the GNU General Public License version 3, under which the software is distributed. In this case, the action and all options will be silently ignored.

Each action can be used with one or several options. Some of them are mandatory for the correct operation of Remote CLI. The following sections detail the parameters which can be used with each option. All actions require the following mandatory options:

host

The URL to your site's root, without a trailing slash, e.g. http://www.example.com Please note that if your site is located in a subdirectory, you have to give the full path to the subdirectory, e.g. http://www.example.com/joomla

secret

The secret key, as defined in Akeeba Backup's component parameters. In order to access it in the component, please log in to your site's back-end, go to Components, Akeeba Backup and click on the Component Parameters button. Make sure the Enable front-end and remote backup option is enabled. Right below it, you will find the Secret Key field.

[Important]Important

We strongly advise you to use only lower and upper case latin letters and numbers (a-z, A-Z, 0-9) in your secret word, as many servers will refuse to work with secret words containing special characters.

[Important]Important

If you are using sh404SEF make sure you have upgraded to the latest release. Older versions conflicted with Akeeba Backup's remote API feature and will cause Remote CLI to report a JSON decoding error. No support will be provided for this error. The only workaround is to upgrade your copy of sh404SEF (which is a good idea anyway, as the older versions also contained potential security vulnerabilities).

[Important]Important

Some SEF and security components will corrupt or block the request to Akeeba Backup's Remote API. In this case you will most likely get a "JSON decoding error". If this happens you may have to instruct your component to ignore com_akeeba or allow full access to the http://www.example.com/index.php?option=com_akeeba&view=json URL. If unsure, please consult with the developer of your SEF or security component.

All commands also accept the following optional options:

encapsulation

By default ARC CLI will use an insecure, plain text method to authenticate itself with Akeeba Backup / Akeeba Solo. If your site does not use HTTPS this may pose a security risk. Fortunately, Akeeba Backup / Akeeba Solo implements its own cryptography for cases like this. This option tells ARC CLI which kind of cryptography to use. The available options are:

  • RAW The default. No encryption takes place. Only use with HTTPS sites.

  • CTR128 Use AES in CTR mode with a 128 bit key. This method works with all servers but it's slow.

  • CTR256 Same as above, uses a 256 bit key which is better but a lot slower.

  • AES128 Use AES in CBC mode with a 128 bit key. This method requires that BOTH the remote site AND the machine you're executing ARC CLI from have the mcrypt PHP module installed and enabled and the mcrypt module supports the rijndael-128 algorithm. If either server does not meet these requirements the encryption will be downgraded to CTR128 or, in some cases, result in an error message.

  • AES256 Same as above, uses a 256 bit key which is better but just a bit slower.

Please note that error messages and downloads with the http download mode are always transferred unencrypted no matter which encapsulation you are using. Error messages do not pose a security risk, but downloads do. Never use the http download mode unless your server is using HTTPS or you are using JPS (encrypted) archives.

Below you can find the options required by each command:

test

No extra options are used

backup

profile

The numeric profile ID you want take a backup with. If it is not specified, a backup with the default profile (#1) will be taken. Please see the profiles command for an easy way to list profile names and IDs.

description

An optional description of your backup. Put it in double quotes, i.e. --description="My backup description". If not specified, the default backup description (the one with the date and time of the backup) will be used by Akeeba Backup automatically.

comment

An optional backup comment. Put it in double quotes, i.e. --comment="My backup comment". If not specified, no comment will be stored with your backup.

download

If you specify --download or -d, the produced backup archive will be downloaded to your computer. In this case, please refer to the next section for its required parameters. You can also specify --delete or -D together with --download / -d in order to delete the backup archive after it has been downloaded to your PC.

download

id

The numeric backup ID to download (see listbackups). Note: when you use the --download or -d switch with the backup action you must not use this option. In all other cases, this option is mandatory.

dlmode

Can be one of http, chunk or curl

http

instructs Remote CLI to download the backup archive through HTTP, similar to what you get by clicking the download links in the "Manage Backups" (formerly "Administer Backup Files") page of Akeeba Backup. Even though it is the simplest method, it may cause corrupted downloads of backup archives over 10-20Mb on most shared hosts.

Files are transferred unencrypted with this method. You are advised to only use this if your server is using HTTPS or with JPS (encrypted) archives only.

chunk

works similarly to http, but is designed to work with larger backup archives. It tries to download 1Mb at a time, in order to work around server restrictions on HTTP download. However, on a few shared hosts this will cause the download to fail with a timeout error, memory outage error or an Internal Server Error (HTTP 500 error).

If you have used an --encapsulation parameter other than RAW all data is transferred encrypted with this method. This is the recommended method for servers which offer neither HTTPS nor FTPS/SFTP as long as you use an --encapsulation parameter other than RAW.

curl

is the recommended method and can be used to download the backup archive over FTP, FTPS or SFTP. The only downside is that it needs some configuration (see the dlurl option below).

If you are using plain old FTP (not FTPS or SFTP) the files and login credentials are transferred unencrypted. You are advised to never use this method with plain old FTP (not FTPS or SFTP) for security reasons.

dlpath

Specify the path to save the downloaded file. For example, --dlpath="c:\User\Myuser\Downloads" on Windows, or --dlpath="/home/myuser/Downloads" on Linux, Mac OS X and other UNIX-based operating systems.

dlurl

This option is only required if you are using the curl download method. In this case, it tells Remote CLI how to connect to your site in order to download the backup archives.

If you are using FTP, you have to specify something like --dlurl="ftp://username:password@hostname:port/path/to/output/directory

Username and Password are your FTP username and password. Hostname is the FTP server's host name. Port is the numeric TCP/IP port (normally it's 21, ask your host). The /path/to/output/directory is the FTP path to yoru output directory. In order to figure out the latter, please use FileZilla to connect to your site and navigate to the backup output directory (by default that is administrator/components/com_akeeba/backup). Copy the path shown above the right-hand folders pane. That's the one you want.

Example:

--dlurl="ftp://myuser: mypassword@ftp.example.com:21/public_html/administrator/components/com_akeeba/backup

delete

id

The backup record's ID that you want deleted. Please see listbackups below.

deletefiles

id

The backup record's ID that you want deleted. Please see listbackups below.

profiles

This command has no options. It will simply return a list of profile IDs and descriptions.

listbackups

from

(Optional) From which record you want to start the listing. If not specified, 0 is assumed, showing the top results (latest backup records).

to

(Optional) Up to which record you want the listing to go to. If not specified, 50 is assumed, therefore showing the latest 50 backup records.

backupinfo

id

The backup record's ID whose info you want displayed. Please see listbackups above.

update

There are no options. Calling this action will check if an update is available and, if there is, will install it automatically on your site.

Still need support?

Login or Subscribe to submit a new ticket.

(If filing a bug or you have a pre-sales request, please contact us directly.)