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 126.96.36.199_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: - 188.8.131.52_beta_2017-08-01
Duplicati 184.108.40.206_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:firstname.lastname@example.org/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:email@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:firstname.lastname@example.org/target "D:\source\file.txt" --overwrite~~~
Duplicati.CommandLine.exe help options
Duplicati 220.127.116.11_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.