Duplicati includes build in help with the command-line tool. While it can be viewed in the web interface using the “Commandline…” feature, that’s not always the best place to see the results (sometimes they scroll off the screen).
So if you want to see them yourself, you’ll need to open a command prompt / shell / terminal windows and run the commands manually. For example, in a standard Windows install you’d likely want to run:
“C:\Program Files\Duplicati 2\Duplicati.CommandLine.exe” help
For specifics on a particular command, such as backup
, you’d run:
“C:\Program Files\Duplicati 2\Duplicati.CommandLine.exe” help backup
For those that aren’t comfortable with command lines, here’s the output of a few of the calls…
Duplicati.CommandLine.exe help
Duplicati 2.0.2.1_beta options
See duplicati.commandline.exe help <topic> for more information.
General: example, changelog
Commands: backup, find, restore, delete, compact, test, compare, purge
Reparing: repair, affected, list-broken-files, purge-broken-files
Debugging: debug, logging, create-report, test-filters, system-info,
send-mail
Targets: aftp, amzcd, azure, b2, box, cloudfiles, dropbox, file, ftp,
googledrive, gcs, hubic, jottacloud, mega, onedrive, openstack, s3, od4b,
mssp, ssh, tahoe, webdav
Modules: aes, gpg, zip, 7z, console-password-input, mssql-options,
hyperv-options, http-options, sendhttp, sendmail, runscript, sendxmpp,
check-mono-ssl
Formats: date, time, size, encryption, compression
Advanced: mail, advanced, returncodes, filter, <option>
http://www.duplicati.com/ Version: - 2.0.2.1_beta_2017-08-01
Duplicati.CommandLine.exe example
Duplicati 2.0.2.1_beta example
Make an encrypted backup
========================
The following command will make an encrypted backup and store it on an FTP
server. As no passphrase is specified, the user is prompted for a password.
The upload speed is throttled to 500kB/s. Backups older than one month are
considered old. Old backups are deleted automatically. The maximum file
size is limited to 50MB (default).
"Duplicati.CommandLine.exe" backup
ftp://me:example.com@ftp.example.com/target "D:\source" --throttle=500kB
Search for files in a backup
============================
The backup can be searched for specific files. The following command returns
all files "D:\source\file.txt" of the last backup. File names can also
contain the wildcards * and ?.
"Duplicati.CommandLine.exe" find ftp://me:example.com@ftp.example.com/target
"D:\source\file.txt"
Restore a specific file
=======================
The following command will restore "D:\source\file.txt" from the backup in
the latest version to its original destination and overwrite an existing
file.
"Duplicati.CommandLine.exe" restore
ftp://me:example.com@ftp.example.com/target "D:\source\file.txt"
--overwrite~~~
Duplicati.CommandLine.exe help options
Duplicati 2.0.2.1_beta parameters
Duplicati offers more options than listed in the other topics. Those
additional options should only be used with care. For normal operation none
of them should ever be required. Here is a complete list of options supported
by Duplicati:
--allow-full-removal = false
By default, the last fileset cannot be removed. This is a safeguard to
make sure that all remote data is not deleted by a configuration mistake.
Use this flag to disable that protection, such that all filesets can be
deleted.
--allow-missing-source = false
Use this option to continue even if some source entries are missing.
--allow-passphrase-change = false
Use this option to allow the passphrase to change, note that this option
is not permitted for a backup or repair operation
--allow-sleep = false
Allow system to enter sleep power modes for inactivity during
backup/restore operations (Windows/OSX only)
--all-versions = false
When searching for files, only the most recent backup is searched. Use
this option to show all previous versions too.
--asynchronous-upload-folder = C:\Users\jmv\AppData\Local\Temp\
The pre-generated volumes will be placed into the temporary folder by
default, this option can set a different folder for placing the temporary
volumes, despite the name, this also works for synchronous runs
--asynchronous-upload-limit = 4
When performing asynchronous uploads, Duplicati will create volumes that
can be uploaded. To prevent Duplicati from generating too many volumes,
this option limits the number of pending uploads. Set to zero to disable
the limit
--auto-cleanup = false
If a backup is interrupted there will likely be partial files present on
the backend. Using this flag, Duplicati will automatically remove such
files when encountered.
--auto-update = false
Set this option if you prefer to have the commandline version
automatically update
--backup-name = Duplicati.CommandLine
A display name that is attached to this backup. Can be used to identify
the backup when sending mail or running scripts.
--backup-test-samples = 1
After a backup is completed, some files are selected for verification on
the remote backend. Use this option to change how many. If this value is
set to 0 or the option --no-backend-verification is set, no remote files
are verified
--block-hash-algorithm = SHA256
This is a very advanced option! This option can be used to select a block
hash algorithm with smaller or larger hash size, for performance or
storage space reasons.
--blocksize = 100kb
The block size determines how files are fragmented. Choosing a large value
will cause a larger overhead on file changes, choosing a small value will
cause a large overhead on storage of file lists. Note that the value
cannot be changed after remote files are created.
--changed-files
This option can be used to limit the scan to only files that are known to
have changed. This is usually only activated in combination with a
filesystem watcher that keeps track of file changes.
--check-filetime-only = false
This flag instructs Duplicati to not look at metadata or filesize when
deciding to scan a file for changes. Use this option if you have a large
number of files and notice that the scanning takes a long time with
unmodified files.
--compression-extension-file =
J:\PortableApps\Duplicati\default_compressed_extensions.txt
This property can be used to point to a text file where each line contains
a file extension that indicates a non-compressible file. Files that have
an extension found in the file will not be compressed, but simply stored
in the archive. The file format ignores any lines that do not start with
a period, and considers a space to indicate the end of the extension. A
default file is supplied, that also serves as an example. The default
file is placed in
J:\PortableApps\Duplicati\default_compressed_extensions.txt.
--compression-module = zip
Duplicati supports pluggable compression modules. Use this option to
select a module to use for compression. This is only applied when
creating new volumes, when reading an existing file, the filename is used
to select the compression module.
--control-files = false
Use control files
--dblock-size = 50mb
This option can change the maximum size of dblock files. Changing the size
can be useful if the backend has a limit on the size of each individual
file
--dbpath
Path to the file containing the local cache of the remote file database
--debug-output = false
Activating this option will make some error messages more verbose, which
may help you track down a particular issue
--debug-retry-errors = false
When an error occurs, Duplicati will silently retry, and only report the
number of retries. Enable this option to have the error messages
displayed when a retry is performed.
--deleted-files
This option can be used to supply a list of deleted files. This option
will be ignored unless the option --changed-files is also set.
--disable-autocreate-folder = false
If Duplicati detects that the target folder is missing, it will create it
automatically. Activate this option to prevent automatic folder creation.
--disable-filepath-cache = true
Reduce memory footprint by disabling in-memory lookups
--disable-filetime-check = false
The operating system keeps track of the last time a file was written.
Using this information, Duplicati can quickly determine if the file has
been modified. If some application deliberately modifies this
information, Duplicati won't work correctly unless this flag is set.
--disable-module
Supply one or more module names, separated by commas to unload them
--disable-piped-streaming = false
Use this option to disable multithreaded handling of up- and downloads,
that can significantly speed up backend operations depending on the
hardware you're running on and the transfer rate of your backend.
--disable-streaming-transfers = false
Enabling this option will disallow usage of the streaming interface, which
means that transfer progress bars will not show, and bandwidth throttle
settings will be ignored.
--disable-synthetic-filelist = false
If Duplicati detects that the previous backup did not complete, it will
generate a filelist that is a merge of the last completed backup and the
contents that were uploaded in the incomplete backup session.
--disable-time-tolerance = false
When matching timestamps, Duplicati will adjust the times by a small
fraction to ensure that minor time differences do not cause unexpected
updates. If the option ----keep-time is set to keep a week of backups,
and the backup is made the same time each week, it is possible that the
clock drifts slightly, such that full week has just passed, causing
Duplicati to delete the older backup earlier than expected. To avoid
this, Duplicati inserts a 1% tolerance (max 1 hour). Use this option to
disable the tolerance, and use strict time checking
--dont-compress-restore-paths = false
When restore a subset of a backup into a new folder, the shortest possible
path is used to avoid generating deep paths with empty folders. Use this
flag to skip this compression, such that the entire original folder
structure is preserved, including upper level empty folders.
--dont-read-manifests = false
This option will make sure the contents of the manifest file are not read.
This also implies that file hashes are not checked either. Use only for
disaster recovery.
--dry-run = false
This option can be used to experiment with different settings and observe
the outcome without changing actual files.
--enable-module
Supply one or more module names, separated by commas to load them
--encryption-module = aes
Duplicati supports pluggable encryption modules. Use this option to select
a module to use for encryption. This is only applied when creating new
volumes, when reading an existing file, the filename is used to select
the encryption module.
--exclude
Exclude files that match this filter. The special character * means any
number of character, and the special character ? means any single
character, use *.txt to exclude all files with a txt extension. Regular
expressions are also supported and can be supplied by using hard braces,
i.e. [.*\.txt].
--exclude-files-attributes
Use this option to exclude files with certain attributes. Use a comma
separated list of attribute names to specify more than one. Possible
values are: ReadOnly, Hidden, System, Directory, Archive, Device, Normal,
Temporary, SparseFile, ReparsePoint, Compressed, Offline,
NotContentIndexed, Encrypted, IntegrityStream, NoScrubData
--file-hash-algorithm = SHA256
This is a very advanced option! This option can be used to select a file
hash algorithm with smaller or larger hash size, for performance or
storage space reasons.
--file-read-buffer-size = 0kb
Use this size to control how many bytes a read from a file before
processing
--force-locale
By default, your system locale and culture settings will be used. In some
cases you may prefer to run with another locale, for example to get
messages in another language. This option can be used to set the locale.
Supply a blank string to choose the "Invariant Culture".
--full-block-verification = false
Use this option to increase verification by checking the hash of blocks
read from a volume before patching restored files with the data.
--full-remote-verification = false
After a backup is completed, some files are selected for verification on
the remote backend. Use this option to turn on full verification, which
will decrypt the files and examine the insides of each volume, instead of
simply verifying the external hash, If the option
--no-backend-verification is set, no remote files are verified. This
option is automatically set when then verification is performed directly.
--full-result = false
Use this option to increase the amount of output generated as the result
of the operation, including all filenames.
--hardlink-policy = All
Use this option to handle hardlinks (only works on Linux/OSX). The "first"
option will record a hardlink ID for each hardlink to avoid storing
hardlinked paths multiple times. The option "all" will ignore hardlink
information, and treat each hardlink as a unique path. The option "none"
will ignore all hardlinks with more than one link.
--include
Include files that match this filter. The special character * means any
number of character, and the special character ? means any single
character, use *.txt to include all files with a txt extension. Regular
expressions are also supported and can be supplied by using hard braces,
i.e. [.*\.txt].
--index-file-policy = Full
The index files are used to limit the need for downloading dblock files
when there is no local database present. The more information is recorded
in the index files, the faster operations can proceed without the
database. The tradeoff is that larger index files take up more remote
space and which may never be used.
--keep-time
Use this option to set the timespan in which backups are kept.
--keep-versions = 0
Use this option to set number of versions to keep, supply -1 to keep all
versions
--list-folder-contents = false
When searching for files, all matching files are returned. Use this option
to return only the entries found in the folder specified as filter.
--list-prefix-only = false
When searching for files, all matching files are returned. Use this option
to return only the largest common prefix path.
--list-sets-only = false
Use this option to only list filesets and avoid traversing file names and
other metadata which slows down the process
--list-verify-uploads = false
Verify uploads by listing contents
--log-file
Log internal information
--log-level = Warning
Specifies the amount of log information to write into the file specified
by --log-file
--log-retention = 30D
Set the time after which log data will be purged from the database.
--no-auto-compact = false
If a large number of small files are detected during a backup, or wasted
space is found after deleting backups, the remote data will be compacted.
Use this option to disable such automatic compacting and only compact
when running the compact command.
--no-backend-verification = false
If this flag is set, the local database is not compared to the remote
filelist on startup. The intended usage for this option is to work
correctly in cases where the filelisting is broken or unavailable.
--no-connection-reuse = false
Duplicati will attempt to perform multiple operations on a single
connection, as this avoids repeated login attempts, and thus speeds up
the process. This option can be used to ensure that each operation is
performed on a seperate connection
--no-encryption = false
If you store the backups on a local disk, and prefer that they are kept
unencrypted, you can turn of encryption completely by using this switch.
--no-local-blocks = false
Duplicati will attempt to use data from source files to minimize the
amount of downloaded data. Use this option to skip this optimization and
only use remote data.
--no-local-db = false
When listing contents or when restoring files, the local database can be
skipped. This is usually slower, but can be used to verify the actual
contents of the remote store
--number-of-retries = 5
If an upload or download fails, Duplicati will retry a number of times
before failing. Use this to handle unstable network connections better.
--overwrite = false
Use this option to overwrite target files when restoring, if this option
is not set the files will be restored with a timestamp and a number
appended.
--parameters-file
This option can be used to store some or all of the options given to the
commandline client. The file must be a plain text file, UTF-8 encoding is
preferred. Each line in the file should be of the format --option=value.
The special options --source and --target can be used to override the
localpath and the remote destination uri, respectively. The options in
this file take precedence over the options provided on the commandline.
You cannot specify filters in both the file and on the commandline.
Instead, you can use the special --replace-filter, --append-filter, or
--prepend-filter options to specify filters inside the parameter file.
Each filter must be prefixed with either a + or a -, and multiple filters
must be joined with ;
--passphrase
Supply a passphrase that Duplicati will use to encrypt the backup volumes,
making them unreadable without the passphrase. This variable can also be
supplied through the environment variable PASSPHRASE.
--patch-with-local-blocks = false
Enable this option to look into other files on this machine to find
existing blocks. This is a fairly slow operation but can limit the size
of downloads.
--prefix = duplicati
A string used to prefix the filenames of the remote volumes, can be used
to store multiple backups in the same remote folder. The prefix cannot
contain a hyphen (-), but can contain all other characters allowed by the
remote storage.
--quiet-console = false
If this option is set, progress reports and other messages that would
normally go to the console will be redirected to the log.
--quota-size
This value can be used to set a known upper limit on the amount of space a
backend has. If the backend reports the size itself, this value is
ignored
--repair-only-paths = false
Use this option to build a searchable local database which only contains
path information. This option is usable for quickly building a database
to locate certain content without needing to reconstruct all information.
The resulting database can be searched, but cannot be used to restore
data with.
--restore-path
By default, files will be restored in the source folders, use this option
to restore to another folder
--restore-permissions = false
By default permissions are not restored as they might prevent you from
accessing your files. Use this option to restore the permissions as well.
--retry-delay = 10s
After a failed transmission, Duplicati will wait a short period before
attempting again. This is useful if the network drops out occasionally
during transmissions.
--skip-file-hash-checks = false
If the hash for the volume does not match, Duplicati will refuse to use
the backup. Supply this flag to allow Duplicati to proceed anyway.
--skip-files-larger-than
This option allows you to exclude files that are larger than the given
value. Use this to prevent backups becoming extremely large.
--skip-metadata = false
Use this option to disable the storage of metadata, such as file
timestamps. Disabling metadata storage will speed up the backup and
restore operations, but does not affect file size much.
--skip-restore-verification = false
After restoring files, the file hash of all restored files are checked to
verify that the restore was successful. Use this option to disable the
check and avoid waiting for the verification.
--small-file-max-count = 20
To avoid filling the remote storage with small files, this value can force
grouping small files. The small volumes will always be combined when they
can fill an entire volume.
--small-file-size
When examining the size of a volume in consideration for compacting, a
small tolerance value is used, by default 20 percent of the volume size.
This ensures that large volumes which may have a few bytes wasted space
are not downloaded and rewritten.
--snapshot-policy = off
This setting controls the usage of snapshots, which allows Duplicati to
backup files that are locked by other programs. If this is set to "off",
Duplicati will not attempt to create a disk snapshot. Setting this to
"auto" makes Duplicati attempt to create a snapshot, and fail silently if
that was not allowed or supported. A setting of "on" will also make
Duplicati attempt to create a snapshot, but will produce a warning
message in the log if it fails. Setting it to "required" will make
Duplicati abort the backup if the snapshot creation fails. On windows
this uses the Volume Shadow Copy Services (VSS) and requires
administrative privileges. On Linux this uses Logical Volume Management
(LVM) and requires root privileges.
--store-metadata = true
Stores metadata, such as file timestamps and attributes. This increases
the required storage space as well as the processing time.
--symlink-policy = Store
Use this option to handle symlinks differently. The "store" option will
simply record a symlink with its name and destination, and a restore will
recreate the symlink as a link. Use the option "ignore" to ignore all
symlinks and not store any information about them. Previous versions of
Duplicati used the setting "follow", which will cause symlinked files to
be included and restore as normal files.
--synchronous-upload = false
Duplicati will upload files while scanning the disk and producing volumes,
which usually makes the backup faster. Use this flag to turn the behavior
off, so that Duplicati will wait for each volume to complete.
--tempdir = C:\Users\jmv\AppData\Local\Temp\
Duplicati will use the system default temporary folder. This option can be
used to supply an alternative folder for temporary storage. Note that
SQLite will always put temporary files in the system default temporary
folder. Consider using the TMPDIR environment variable on Linux to set
the temporary folder for both Duplicati and SQLite.
--thread-priority = normal
Selects another thread priority for the process. Use this to set Duplicati
to be more or less CPU intensive.
--threshold = 25
As files are changed, some data stored at the remote destination may not
be required. This option controls how much wasted space the destination
can contain before being reclaimed. This value is a percentage used on
each volume and the total storage.
--throttle-download = 0kb
By setting this value you can limit how much bandwidth Duplicati consumes
for downloads. Setting this limit can make the backups take longer, but
will make Duplicati less intrusive.
--throttle-upload = 0kb
By setting this value you can limit how much bandwidth Duplicati consumes
for uploads. Setting this limit can make the backups take longer, but
will make Duplicati less intrusive.
--time = now
By default, Duplicati will list and restore files from the most recent
backup, use this option to select another item. You may use relative
times, like "-2M" for a backup from two months ago.
--upload-unchanged-backups = false
If no files have changed, Duplicati will not upload a backup set. If the
backup data is used to verify that a backup was executed, this option
will make Duplicati upload a backupset even if it is empty
--upload-verification-file = false
Use this option to upload a verification file after changing the remote
storage. The file is not encrypted and contains the size and SHA256
hashes of all the remote files and can be used to verify the integrity of
the files.
--usn-policy = off
This setting controls the usage of NTFS USN numbers, which allows
Duplicati to obtain a list of files and folders much faster. If this is
set to "off", Duplicati will not attempt to use USN. Setting this to
"auto" makes Duplicati attempt to use USN, and fail silently if that was
not allowed or supported. A setting of "on" will also make Duplicati
attempt to use USN, but will produce a warning message in the log if it
fails. Setting it to "required" will make Duplicati abort the backup if
the USN usage fails. This feature is only supported on Windows and
requires administrative privileges.
--verbose = false
Use this option to increase the amount of output generated when running an
option. Generally this option will produce a line for each file
processed.
--version
By default, Duplicati will list and restore files from the most recent
backup, use this option to select another item. You may enter multiple
values separated with comma, and ranges using -, e.g. "0,2-4,7" .
--vss-exclude-writers
Use this option to exclude faulty writers from a snapshot. This is
equivalent to the -wx flag of the vshadow.exe tool, except that it only
accepts writer class GUIDs, and not component names or instance GUIDs.
Multiple GUIDs must be separated with a semicolon, and most forms of
GUIDs are allowed, including with and without curly braces.
--vss-use-mapping = false
Activate this option to map VSS snapshots to a drive (similar to SUBST,
using Win32 DefineDosDevice). This will create temporary drives that are
then used to access the contents of a snapshot. This workaround can speed
up file access on Windows XP.