Duplicati

Last updated
Duplicati
Original author(s) Kenneth Skovhede
Developer(s) Kenneth Skovhede
Initial releaseJune 1, 2008;16 years ago (2008-06-01)
Stable release
1.3.4 [1]   OOjs UI icon edit-ltr-progressive.svg / 2 February 2013;11 years ago (2 February 2013)
Repository github.com/duplicati/duplicati
Operating system Windows, macOS, Linux
Platform C#
Available inEnglish, Danish, Portuguese, French, German, Spanish, Italian, Chinese, Russian
Type Backup software
License MIT License
Website www.duplicati.com

Duplicati is a backup client that securely stores encrypted, incremental, compressed remote backups of local files on cloud storage services and remote file servers. Duplicati supports not only various online backup services like OneDrive, [2] Amazon S3, Backblaze, Rackspace Cloud Files, Tahoe LAFS, and Google Drive, but also any servers that support SSH/SFTP, WebDAV, or FTP.

Contents

Duplicati uses standard components such as rdiff, zip, AESCrypt, and GnuPG. This allows users to recover backup files even if Duplicati is not available. Duplicati is free software, originally released under the terms of the GNU Lesser General Public License (LGPL), it has been under the MIT License since March 2024. [3] This changeover took place as part of the launch of Duplicati, Inc. and the commercial use of the Duplicati base. [4]

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, macOS and Linux using either .NET Framework or Mono.

Duplicati has both a graphical user interface with a wizard-style interface and a command-line 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 and LVM on Linux.

History

The original Duplicati project was started in June 2008 and intended to produce a graphical user interface for the Duplicity program. This included a port of the Duplicity code for use on Windows, but was dropped in September 2008, [5] where work on a clean re-implementation began. This re-implementation includes all the sub-programs found in Duplicity, such as rdiff, 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. As it is also responsive, it can be easily used on mobile devices.

In 2024, Duplicati, Inc. was founded with the aim of commercialising Duplicati. [6] The previous developer Kenneth Skovhede takes on the role of CTO as a full-time position. Open Core Ventures provides Duplicati, Inc. with $2M in funding for the expansion of the open source base and the development of enterprise-grade features. [7] In May 2024, the first commercial product ‘Duplicati Portal’ was introduced, which is a centralised, cloud-based solution designed to monitor and manage backups across multiple devices and environments. [8]

Implementation

The Duplicati GUI and command-line 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 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.

Limitations of Duplicati 1

The GUI 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 or Linux daemon, and set the Duplicati system tray from starting the Duplicati service. [9] [10] 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 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

Related Research Articles

rsync File synchronization protocol and software

rsync 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 operating systems and is under the GPL-3.0-or-later license.

Installation of a computer program, is the act of making the program ready for execution. Installation refers to the particular configuration of software or hardware with a view to making it usable with the computer. A soft or digital copy of the piece of software (program) is needed to install it. There are different processes of installing a piece of software (program). Because the process varies for each program and each computer, programs often come with an installer, a specialised program responsible for doing whatever is needed for the installation. Installation may be part of a larger software deployment process.

<span class="mw-page-title-main">FileZilla</span> Free software, cross-platform file transfer protocol application

FileZilla is a free and open-source, cross-platform FTP application, consisting of FileZilla Client and FileZilla Server. Clients are available for Windows, Linux, and macOS. Both server and client support FTP and FTPS, while the client can in addition connect to SFTP servers. FileZilla's source code is hosted on SourceForge.

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.

<span class="mw-page-title-main">WinSCP</span> File transfer software for Windows

WinSCP is a file manager, SSH File Transfer Protocol (SFTP), File Transfer Protocol (FTP), WebDAV, Amazon S3, and secure copy protocol (SCP) client for Microsoft Windows. The WinSCP project has released its source code on GitHub under an open source license, while the program itself is distributed as proprietary freeware.

IBM Storage Protect is a data protection platform that gives enterprises a single point of control and administration for backup and recovery. It is the flagship product in the IBM Spectrum Protect family.

Veritas Backup Exec is a data protection software product designed for customers with mixed physical and virtual environments, and who are moving to public cloud services. Supported platforms include VMware and Hyper-V virtualization, Windows and Linux operating systems, Amazon S3, Microsoft Azure and Google Cloud Storage, among others. All management and configuration operations are performed with a single user interface. Backup Exec also provides integrated deduplication, replication, and disaster recovery capabilities and helps to manage multiple backup servers or multi-drive tape loaders.

Acronis True Image is a software package produced by Acronis International GmbH that aims to protect the system from ransomware and allows users to backup and restore files or entire systems from a backup archive, which was previously created using the software. Since 2020, Acronis Cyber Protect Home Office includes malware and Zoom protection. The software is used by technicians to deploy operating systems to computers and by academics to help restore computers following analysis of how viruses infect computers.

<span class="mw-page-title-main">Time Machine (macOS)</span> Backup software application developed by Apple and distributed as part of macOS

Time Machine is the backup mechanism of macOS, the desktop operating system developed by Apple. The software is designed to work with both local storage devices and network-attached disks, and is commonly used with external disk drives connected using either USB or Thunderbolt. It was first introduced in Mac OS X 10.5 Leopard, which was released in October 2007 and incrementally refined in subsequent releases of macOS. Time Machine was revamped in macOS 11 Big Sur to support APFS, thereby enabling "faster, more compact, and more reliable backups" than were possible previously.

Duplicity, graphical interface known as Déjà Dup, is a software suite that provides encrypted, digitally signed, versioned, local or remote backup of files requiring little of the remote server. Released under the terms of the GNU General Public License (GPL), Duplicity is free software.

<span class="mw-page-title-main">Areca Backup</span> File backup system

Areca Backup was an Open Source personal file backup software developed in Java. It was released under the GNU General Public License (GPL) 2.

NTBackup is the first built-in backup utility of the Windows NT family. It was introduced with Windows NT 3.51. NTBackup comprises a GUI (wizard-style) and a command-line utility to create, customize, and manage backups. It takes advantage of Shadow Copy and Task Scheduler. NTBackup stores backups in the BKF file format on external sources, e.g., floppy disks, hard drives, tape drives, and Zip drives. When used with tape drives, NTBackup uses the Microsoft Tape Format (MTF), which is also used by BackupAssist, Backup Exec, and Veeam Backup & Replication and is compatible with BKF.

<span class="mw-page-title-main">Wuala</span>

Wuala was a secure online file storage, file synchronization, versioning and backup service originally developed and run by Caleido Inc. It is now part of LaCie, which is in turn owned by Seagate Technology. The service stores files in data centres that are provided by Wuala in multiple European countries. An earlier version also supported distributed storage on other users' machines, however this feature has been dropped. On 17 August 2015 Wuala announced that it was discontinuing its service and that all stored data would be deleted on 15 November 2015. Wuala recommended a rival cloud storage startup, Tresorit, as an alternative to its remaining customers.

This is a comparison of online backup services.

<span class="mw-page-title-main">ExpanDrive</span>

ExpanDrive is a network filesystem client for MacOS, Microsoft Windows and Linux that facilitates mapping of local volume to many different types of cloud storage. When a server is mounted with ExpanDrive any program can read, write, and manage remote files as if they were stored locally. This is different from most File Transfer Clients because it is integrated into all applications on the operating system. It also does not require a file to be downloaded to access portions of the content. ExpanDrive is commercial software, at a cost of $49.95 per license. A 7-day, unrestricted demo is available for evaluation.

<span class="mw-page-title-main">GraphOn</span> Application publishing software

GraphOn GO-Global is a multi-user remote access application for Windows. GO-Global is a product of GraphOn Corporation.

<span class="mw-page-title-main">Linoma Software</span>

Linoma Software was a developer of secure managed file transfer and IBM i software solutions. The company was acquired by HelpSystems in June 2016. Mid-sized companies, large enterprises and government entities use Linoma's software products to protect sensitive data and comply with data security regulations such as PCI DSS, HIPAA/HITECH, SOX, GLBA and state privacy laws. Linoma's software runs on a variety of platforms including Windows, Linux, UNIX, IBM i, AIX, Solaris, HP-UX and Mac OS X.

<span class="mw-page-title-main">OpenMediaVault</span> NAS operating system

OpenMediaVault (OMV) is a free Linux distribution designed for network-attached storage (NAS). The project's lead developer is Volker Theile, who instituted it in 2009. OMV is based on the Debian operating system, and is licensed through the GNU General Public License v3.

Apple File System (APFS) is a proprietary file system developed and deployed by Apple Inc. for macOS Sierra (10.12.4) and later, iOS 10.3, tvOS 10.2, watchOS 3.2, and all versions of iPadOS. It aims to fix core problems of HFS+, APFS's predecessor on these operating systems. APFS is optimized for solid-state drive storage and supports encryption, snapshots, and increased data integrity, among other capabilities.

<span class="mw-page-title-main">MSP360</span> Application service provider

MSP360, formerly CloudBerry Lab, is a software and application service provider company that develops online backup, remote desktop and file management products integrated with more than 20 cloud storage providers.

References

  1. "Duplicati 1.3.4 available".
  2. Stach, Rene (2 November 2011). "Duplicati 1.3 beta (r969) available". Duplicati.com. Archived from the original on 6 November 2011.
  3. "duplicati/LICENSE.txt at master · duplicati/duplicati". GitHub. Retrieved 2024-07-20.
  4. "Introducing "Duplicati, Inc."". Duplicati. 2024-03-01. Retrieved 2024-07-20.
  5. Duplicati Background.
  6. "Introducing "Duplicati, Inc."". Duplicati. 2024-03-01. Retrieved 2024-07-20.
  7. "Duplicati: Zero trust, fully encrypted backup". opencoreventures.com. 2024-05-13. Retrieved 2024-07-20.
  8. "Introducing the Duplicati Portal: Your New Hub for Cloud-Based Backup Monitoring and Management". Duplicati. 2024-05-02. Retrieved 2024-07-20.
  9. Migrating from User to Service install on Windows on the Duplicati forum
  10. How do I install on CentOS 7? on the Duplicati forum