{
    "mode": "pydoc",
    "parameter": "duplicity",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/pydoc/duplicity/json",
    "generated": "2026-06-02T13:25:04Z",
    "sections": {
        "NAME": {
            "content": "duplicity\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "# -*- Mode:Python; indent-tabs-mode:nil; tab-width:4; encoding:utf8 -*-\n#\n# Copyright 2002 Ben Escoto <ben@emerose.org>\n# Copyright 2007 Kenneth Loafman <kenneth@loafman.com>\n#\n# This file is part of duplicity.\n#\n# Duplicity is free software; you can redistribute it and/or modify it\n# under the terms of the GNU General Public License as published by the\n# Free Software Foundation; either version 2 of the License, or (at your\n# option) any later version.\n#\n# Duplicity is distributed in the hope that it will be useful, but\n# WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n# General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with duplicity; if not, write to the Free Software Foundation,\n# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n",
            "subsections": []
        },
        "PACKAGE CONTENTS": {
            "content": "librsync\nasyncscheduler\nbackend\nbackends (package)\ncachedops\ncommandline\nconfig\ndiffdir\ndupcollections\ndupmain\nduptemp\ndupthreading\nduptime\nerrors\nfilenaming\nfilechunkio\nglobmatch\ngpg\ngpginterface\nlazy\nlibrsync\nlog\nmanifest\npatchdir\npath\nprogress\nrobust\nselection\nstatistics\ntarfile\ntempdir\nutil\n",
            "subsections": []
        },
        "VERSION": {
            "content": "0.8.21\n",
            "subsections": []
        },
        "FILE": {
            "content": "/usr/lib/python3/dist-packages/duplicity/init.py\n\n",
            "subsections": []
        }
    },
    "summary": "duplicity",
    "flags": [],
    "examples": [],
    "see_also": [],
    "tldr": {
        "source": "official",
        "description": "Create incremental, compressed, encrypted, and versioned backups.",
        "examples": [
            {
                "description": "Backup a directory via FTPS to a remote machine, encrypting it with a password",
                "command": "FTP_PASSWORD={{ftp_login_password}} PASSPHRASE={{encryption_password}} duplicity {{path/to/source_directory}} {{ftps://user@hostname/path/to/target_directory}}/"
            },
            {
                "description": "Backup a directory to Amazon S3, doing a full backup every month",
                "command": "duplicity --full-if-older-than {{1M}} s3://{{bucket_name[/prefix}}"
            },
            {
                "description": "Delete versions older than 1 year from a backup stored on a WebDAV share",
                "command": "FTP_PASSWORD={{webdav_login_password}} duplicity remove-older-than {{1Y}} --force {{webdav[s]://user@hostname[:port]/some_directory}}"
            },
            {
                "description": "List the available backups",
                "command": "duplicity collection-status \"file://{{absolute/path/to/backup_directory}}\""
            },
            {
                "description": "List the files in a backup stored on a remote machine, via SSH",
                "command": "duplicity list-current-files {{-t|--time}} {{YYYY-MM-DD}} scp://{{user@hostname}}/{{path/to/backup_directory}}"
            },
            {
                "description": "Restore a subdirectory from a GnuPG-encrypted local backup to a given location",
                "command": "PASSPHRASE={{gpg_key_password}} duplicity restore --encrypt-key {{gpg_key_id}} --path-to-restore {{path/to/restore_directory}} file://{{absolute/path/to/backup_directory}} {{path/to/directory_to_restore_to}}"
            }
        ]
    }
}