A number of Command Line Utilities are included in the Duplicati package. Each command Line Utility serves a particular purpose. Using the Command Line Utilities, you can backup and restore files without using the Graphical User Interface (from the command prompt or by using your favorite task scheduler), launch a server instance, register Duplicati as a Windows service and perform disaster recovery tasks.

All Command Line Utilities can be found in the Duplicati program folder.

Duplicati.GUI.TrayIcon.exe

This utility starts the Duplicati tray icon. Without additional parameters specified, the included webserver is activated. The webserver listens on TCP port 8200 by default. If port 8200 is unavailable, port 8300 is tried, increasing until a free port is found. You can disable the internal webserver if you are using a separate instance of the Duplicati Server component.

These command line options are supported:

Additionally, these server options are also supported:

See Duplicati.Server.exe for more information about these command line options.

Duplicati.Server.exe

Once started, The Duplicati Server component can perform a number of tasks in the background. A scheduler keeps track of configured backup jobs and starts them at scheduled points in time. Backup jobs can be configured and monitored using the built-in webserver. If no port is specified, the webserver listens on TCP port 8200. If this port is unavailable, the webserver will try to start listening on port 8300 and so on, until an available port is found.

The server component is completely included in Duplicati.GUI.TrayIcon.exe, so launching this utility will result in starting the Duplicati Server component also, unless disabled with the --no-hosted-server command line option.

The following command line options can be specified:

Duplicati.WindowsService.exe

This command line tool can be used to register Duplicati.Server.exe as a Windows service. Windows services are started in the background at bootup time, regardless if a user is logged on or not.

The service is started with the SYSTEM account by default. The SYSTEM account has full access to the complete local filesystem. As a result, all files on the local system can be accessed by the Duplicati Web interface. Therefore it is strongly recommended to secure the web interface with a password when using Duplicati as a Windows service.

To register Duplicati.Server.exe as a Windows service, open an elevated command prompt (Run as Administrator). Go to the Duplicati 2 directory (usually located in c:\Program Files\) and run Duplicati.WindowsService.exe install . Wait message that confirms that Duplicati.Server.exe is set as a Windows service and close command prompt. Restart PC to start the service.

Duplicati.WindowsService.exe accepts the following commands:

Supported options for the install command:
* /localuser
Installs the service as a local user.

It is possible to pass arguments to Duplicati.Server.exe, simply add them to the commandline:
Duplicati.WindowsService.exe install --webservice-interface=loopback --log-retention=3M

See Duplicati.Server.exe for more information about supported command line options.

Duplicati.CommandLine.BackendTester.exe

Before you start using a particular backend to use as a backup target, you can use the Backend Tester to get an indication of the integrity of that backend. The Backend Tester will perform the following actions:

You can specify how many files will be generated, what size they should have, which characters are allowed for the file names and how many times the test procedure should be repeated.

Usage:
<protocol>://<username>:<password>@<path>

Supported protocols are:
aftp, amzcd, azure, b2, box, cloudfiles, dropbox, file, ftp, googledrive, gcs, hubic, jottacloud, mega, onedrive, openstack, s3, od4b, mssp, ssh, tahoe, webdav

Use one or more of the following command line options:

Example:
Duplicati.CommandLineBackendTester.exe ftp://user:pass@server/folder

Duplicati.CommandLine.BackendTool.exe

A wide range of backends can be used by Duplicati, both using standard protocols like FTP or WebDAV and proprietary cloud storage services like Google Drive, Microsoft OneDrive or Dropbox. The requirements for these backends are very low. Basically, the only requirements are that Duplicati can perform the following operations to the backend:

There are no more requirements. Duplicati doesn't need to rename files or add data to existing files.

With the Backend tool you can perform the 5 operations to the backend from the command line. This could be useful for testing purposes or disaster recovery (if one or more backup files are missing or corrupt).

Use this tool very carefully! Usually Duplicati will take care of checking, repairing and recovering from inconsistencies at the backend. Incorrect use of this tool may cause unrecoverable data loss. Only advanced users should use it.

Usage:
Duplicati.CommandLine.BackendTool.exe <command> <protocol>://<username>:<password>@<path> [filename]

The following commands are supported:
GET, PUT, LIST, DELETE, CREATEFOLDER

he supported protocols are:
aftp, amzcd, azure, b2, box, cloudfiles, dropbox, file, ftp, googledrive, gcs, hubic, jottacloud, mega, onedrive, openstack, s3, od4b, mssp, ssh, tahoe, webdav

Example:
LIST ftp://user:pass@server/folder

Duplicati.Library.Snapshots.exe

Duplicati can create snapshots, enabling making backups of files that are in use. Windows provides Volume Shadowcopy Services (VSS) to backup open files, Linux and OS X provide LVM for the same purpose. You can use Duplicati.Library.Snapshots.exe to test if snapshots can be created successfully and if they can be used to access open files.

To test this, this utility creates a small file and locks it. Then a snapshot is created, which is tried to be read. If the open file can be read, open files can be backed up. The Duplicati.Library.Snapshot utility reports these steps back, which may help troubleshooting failing backups of open files.

The tool doesn't need any command line arguments, it just needs to be executed from a command line interface with administrative privileges.

Duplicati.Library.AutoUpdater.exe

With this tool you can check if a new Duplicati version is available and install updates unattended. You can subscribe to one of the following update channels: Stable, Beta, Experimental, Canary, Nightly, Debug. The Stable Update channel guarantees that you only will receive versions that were thoroughly tested, the Debug channel is for developers only.

How the Updater tool works, can be customized by some environment variables:

Updates are downloaded from: https://updates.duplicati.com/experimental/latest.manifest and https://alt.updates.duplicati.com/experimental/latest.manifest

Updates are installed in C:\ProgramData\Duplicati\updates.

Usage:
Duplicati.Library.AutoUpdater.exe [LIST|CHECK|INSTALL|HELP]

The following commands are supported:

Duplicati.CommandLine.RecoveryTool.exe

This tool can be used in very specific situations, where you have to restore data from a corrupted backup. The procedure for recovering from this scenario is covered in Disaster Recovery.

Additionally, you can use the Recovery Tool to convert your backup files to another compression type. When creating a new backup job, you have to choose a compression type (default is Zip). After the first backup is made, the compression type cannot be changed. With the Duplicati Recovery Tool, you can download all files from the backend to your local filesystem, encrypt and uncompress them.

Then you can recompress these files using a different compression type, re-encrypt the files and upload them back to the backend. Change the backup configuration to use the new compression type for future backup operations to complete the procedure.

Use the Duplicati Recoverytool with the recompress command for this task: Duplicati.RecoveryTool.exe recompress <targetcompression> <remoteurl> <localfolder> --reupload --reencrypt [options]

This command downloads all files to the local folder specified by <localfolder>. Then files are uncompressed and recompressed using the compression type specified with <targetcompression>. If --reencrypt is supplied, all files are re-encrypted using the same passphrase. If --reupload is supplied, files with the old compression type are deleted and recompressed files are uploaded back to remote storage.


This is a radical operation to your backup files. Therefore, it is recommended to keep a copy of your remote files before this operation is performed. Using the Duplicati Recovery Tool incorrectly may result in unusable backup files.



Warning: Before recompress delete local database and after recompress recreate local database before executing any operation on backup. This allows Duplicati to read new file names from remote storage.