Duplicati (software)

Duplicati
Developer(s) Kenneth Skovhede
Stable release 1.3 / December 14, 2011; 2 months ago (2011-12-14)
Written in C#
Operating system Cross-platform
Type Backup
License GNU Lesser General Public License
Website http://www.duplicati.com/

Duplicati is a software suite that provides easy encrypted, versioned, remote backup of files requiring little of the remote server.[1] Duplicati enables the user to create full and incremental backups allowing recovery of data at any of the backup times. Using only standard components such as rdiff, zip, AESCrypt[2] and GnuPG, the backup data is produced as incremental, compressed and encrypted files. The files are transmitted as plain binary files to a supported destination which includes local folder, FTP, SSH, WebDAV, Amazon S3, RackSpace CloudFiles, Tahoe LAFS, SkyDrive[3] and Google Docs.

Contents

Introduction

Duplicati is a collection of programs that use common algorithms for producing incremental, compressed and encrypted backup on remote storage. Using either a graphical or a command-line user interface, the user can back up, restore, list and examine backups stored on a remote or local server.

Released under the terms of the GNU Lesser General Public License (LGPL), Duplicati is free software.

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[4] where work on a clean re-implementation began. This re-implementation includes all the sub-programs found in Duplicity, such as rdiff, ftp, etc., which saw an initial release in June 2009.

Features

Duplicati is written mostly in C# and implemented completely within the CLR, which enables it to be cross-platform. It runs well on 32bit and 64bit versions on Windows, Mac OS X and Linux using either Microsoft.NET or Mono.

Duplicati has both graphical user interface with a wizard style interface as well as a commandline version for use in headless environments. Both interfaces use the same core and thus has the same set of features and capabilities. The commandline version is almost identical to the Duplicity interface.

To cater for the laptop user, Duplicati can resume an interrupted backup without having to start over, and can also limit the CPU and network bandwidth usage.

Duplicati is not mature enough to be considered an enterprise system, but has some unique features that are usually only found in commercial systems, such as remote verification, disk snapshots, and backup of open files. The disk snapshots are performed with VSS on Windows and LVM on Linux.

Implementation

The Duplicati GUI and commandline 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 thirdparty 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 a rdiff and AESCrypt implementation that works on any system that supports a CLR runtime.

Limitations

The Duplicati GUI is intended to be used on a single machine with a display attached. Because of this, it is not currently possible to use Duplicati as a Windows service or Linux Daemon. A workaround is possible by using the commandline version, but that complicates monitoring of backup status. Work to solve this is in progress.[5][6]

Since Duplicati produces incremental backups, a corrupt or missing volume can render an entire backup chain useless.

Duplicati handles symlinks as regular files or directories, and only stores the file modification date, not metadata like permissions and attributes.

See also

References

  1. ^ Open Alexandria: Duplicati- Makes backup safer and easier!
  2. ^ Security tips from Hacker 10
  3. ^ News about Duplicati supporting Windows Live SkyDrive
  4. ^ Duplicati Background
  5. ^ Running Duplicati as a service
  6. ^ Duplicati runs as service - roadmap

External links