Duplicati is an open-source
backup
In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is "wikt:back ...
client that securely stores
encrypted
In cryptography, encryption (more specifically, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the information, known as plain ...
, incremental, compressed
remote backups of local files on cloud storage services and remote file servers. Duplicati supports not only various
online backup services
A remote, online, or managed backup service, sometimes marketed as cloud backup or backup-as-a-service, is a service that provides users with a system for the backup, storage, and recovery of computer files. List of online backup services, Online ...
like
OneDrive
Microsoft OneDrive is a file-hosting service operated by Microsoft. First released as SkyDrive in August 2007, it allows registered users to store, share, back-up and synchronize their files. OneDrive also works as the storage Frontend and backe ...
,
Amazon S3
Amazon Simple Storage Service (S3) is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface. Amazon S3 uses the same scalable storage infrastructure that Amazon.com uses to run its e-commerc ...
,
Backblaze
Backblaze, Inc. is an American cloud storage and Backup, data backup company based in San Mateo, California. It was founded in 2007 by Gleb Budman and others. Its two main products are their B2 Cloud Storage and Computer Backup services, targete ...
,
Rackspace
Rackspace Technology, Inc. is an American cloud computing company based in San Antonio, Texas. It also has offices in Blacksburg, Virginia, Blacksburg, Virginia and Austin, Texas, as well as in Australia, Canada, United Kingdom, India, Dubai, Sw ...
Cloud Files,
Tahoe LAFS, and
Google Drive
Google Drive is a file-hosting service and synchronization service developed by Google. Launched on April 24, 2012, Google Drive allows users to store files in the cloud (on Google servers), synchronize files across devices, and share files ...
, but also any servers that support
SSH/SFTP,
WebDAV
WebDAV (Web Distributed Authoring and Versioning) is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents ''directly'' in an HTTP web server by providing facilities for conc ...
, or
FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
.
Duplicati uses standard components such as
rdiff
rsync (remote sync) is a utility for transferring and synchronizing files between a computer and a storage drive and across networked computers by comparing the modification times and sizes of files. It is commonly found on Unix-like operati ...
,
zip,
AESCrypt, and
GnuPG
GNU Privacy Guard (GnuPG or GPG) is a free-software replacement for Symantec's cryptographic software suite PGP. The software is compliant with the now obsoleted , the IETF standards-track specification of OpenPGP. Modern versions of PGP are ...
. This allows users to recover backup files even if Duplicati is not available. Duplicati is
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
, originally released under the terms of the
GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL), it has been under the
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
since March 2024. This changeover took place as part of the launch of Duplicati, Inc. and the commercial use of the Duplicati base.
Technology
Duplicati is written mostly in
C# and implemented completely within the
CLR, which enables it to be cross-platform. It runs well on 32-bit and 64-bit versions on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
using either
.NET Framework or
Mono
Mono may refer to:
Biology
* Infectious mononucleosis, "the kissing disease"
* Monocyte, a type of leukocyte (white blood cell)
* Monodactylidae, members of which are referred to as monos
Technology and computing
* Mono (audio), single-c ...
.
Duplicati has both a
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
with a
wizard-style interface and a
command-line
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
version for use in
headless environments. Both interfaces use the same core and thus have the same set of features and capabilities. The command-line version is similar to the
Duplicity interface.
Duplicati has some unique features that are usually only found in commercial systems, such as remote verification of backup files, disk snapshots, and backup of open files. The disk snapshots are performed with
VSS on
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
LVM on
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
.
History
The original Duplicati project was started in June 2008 and intended to produce a
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
for the
Duplicity program. This included a port of the Duplicity code for use on Windows, but was dropped in September 2008,
[Duplicati Background](_blank)
where work on a clean re-implementation began. This re-implementation includes all the sub-programs found in Duplicity, such as
rdiff
rsync (remote sync) is a utility for transferring and synchronizing files between a computer and a storage drive and across networked computers by comparing the modification times and sizes of files. It is commonly found on Unix-like operati ...
, ftp, etc. This initial version of Duplicati saw an initial release in June 2009.
In 2012, work on Duplicati 2 started, which is a complete rewrite. It includes a new storage engine that allows efficient, incremental, continuous backups. The new user interface is web-based, which makes it possible to install Duplicati 2 on headless systems like servers or a
NAS
Nas (born 1973) is the stage name of American rapper Nasir Jones.
Nas, NaS, or NAS may also refer to:
Aviation
* Nasair, a low-cost airline carrier and subsidiary based in Eritrea
* National Air Services, an airline in Saudi Arabia
** Nas Air (S ...
. As it is also
responsive, it can be easily used on mobile devices.
In 2024, Duplicati, Inc. was founded to commercialize Duplicati. Prior developer Kenneth Skovhede took on the role of CTO, and Open Core Ventures provided funding for the expansion of the open source base and the development of enterprise-grade features. In May 2024, the first commercial product ‘Duplicati Portal’ was introduced as a cloud-based service to monitor and manage backups across multiple devices and environments.
Implementation
The Duplicati
GUI
Gui or GUI may refer to:
People Surname
* Gui (surname), an ancient Chinese surname, ''xing''
* Bernard Gui (1261 or 1262–1331), inquisitor of the Dominican Order
* Luigi Gui (1914–2010), Italian politician
* Gui Minhai (born 1964), Ch ...
and
command-line
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
interface both call a common component called ''Main'', which serves as a binding point for all the operations supported. Currently the encryption, compression, and storage component are considered subcomponent and are loaded at runtime, making it possible for a third-party developer to inject a subcomponent into Duplicati without access to the source or any need to modify Duplicati itself. The license type is also flexible enough to allow redistribution of Duplicati with a
closed-source
Proprietary software is software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing the software or modi ...
storage provider. Duplicati is designed to be as independent of the provider as possible, which means that any storage medium that supports the common commands (
GET
,
PUT
,
LIST
,
DELETE
) can work with Duplicati.
The Duplicity model, on which Duplicati is based, relies heavily on components in the system, such as
librdiff, TcFTP, and others. Since Duplicati is intended to be cross-platform, and it is unlikely that all those components are available on all platforms, Duplicati re-implements the components instead. Most notably, Duplicati features an rdiff and AESCrypt implementation that work on any system that supports a
Common Language Runtime
The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instr ...
.
Limitations of Duplicati 1
The
GUI
Gui or GUI may refer to:
People Surname
* Gui (surname), an ancient Chinese surname, ''xing''
* Bernard Gui (1261 or 1262–1331), inquisitor of the Dominican Order
* Luigi Gui (1914–2010), Italian politician
* Gui Minhai (born 1964), Ch ...
frontend in Duplicati 1.x is intended to be used on a single machine with a display attached. However, it is also possible to install Duplicati as a
Windows service
In Windows NT operating systems, a Windows service is a computer program that operates in the background. It is similar in concept to a Unix daemon. A Windows service must conform to the interface rules and protocols of the Service Control Manag ...
or Linux
daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
, and set the Duplicati system tray from starting the Duplicati service.
How do I install on CentOS 7?
' on the Duplicati forum This limitation has been addressed in Duplicati 2, which has a web interface and can be used on headless systems.
Duplicati 1.x has extremely slow file listings, so browsing a file tree to do restores can take a long time.
Since Duplicati produces
incremental backups, a
corrupt
Corruption is a form of dishonesty or a criminal offense that is undertaken by a person or an organization that is entrusted in a position of authority to acquire illicit benefits or abuse power for one's gain. Corruption may involve activities ...
or missing incremental volume can render all following incremental backups (up to the next full backup) useless. Duplicati 2 regularly tests the backup to detect corrupted files early.
Duplicati 1.x only stores the file modification date, not metadata like permissions and attributes. This has been addressed in Duplicati 2.
See also
*
List of backup software
This is a list of notable backup software that performs data backups. Archivers, transfer protocols, and version control systems are often used for backups but only software focused on backup is listed here. See Comparison of backup software ...
References
External links
* {{Official website, https://www.duplicati.com/
2008 software
Free backup software
Free software programmed in C Sharp
Software using the MIT license