{"id":15421061,"url":"https://github.com/cjsheets/duplicity-utils","last_synced_at":"2025-11-05T20:30:36.027Z","repository":{"id":143840143,"uuid":"66166308","full_name":"cjsheets/duplicity-utils","owner":"cjsheets","description":"Useful for managing duplicity backups in a headless environment","archived":false,"fork":false,"pushed_at":"2016-08-20T20:23:08.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-27T14:42:32.684Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cjsheets.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-20T20:16:42.000Z","updated_at":"2016-08-20T20:17:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a4d6b82-fedd-45c5-9571-ae3eb47b98e5","html_url":"https://github.com/cjsheets/duplicity-utils","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"c42a7a5b3eda358b15ffe3045d44f588270bac26"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjsheets%2Fduplicity-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjsheets%2Fduplicity-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjsheets%2Fduplicity-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjsheets%2Fduplicity-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cjsheets","download_url":"https://codeload.github.com/cjsheets/duplicity-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239471271,"owners_count":19644282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T17:33:00.284Z","updated_at":"2025-11-05T20:30:35.969Z","avatar_url":"https://github.com/cjsheets.png","language":"Shell","readme":"# Duplicity Utils\n\nThis script is useful for managing [Duplicity](http://duplicity.nongnu.org/) backups in a headless environment.\nThe main advantages provided by this wrapper are better log-file handling, easier cron scheduling, and simpler\ncommand line execution. \n\nI consider this wrapper to be in Beta until the related ansible role is released.\n\n###Install\n\n####Prerequisites\n\nThe following python packages are required:\n\n* duplicity\n\n####Setup\n\nThe configuration file `default.conf` is expected to be in /etc/duplicity/. Settings to change include SERVER, GPG_PASSPHRASE, FTP_PASSWORD \n(if you use FTP instead of sftp), and the ssh IdentityFile path in BACKUP_PARAM.\n\n**Logging:** The script currently expects write access to `/var/log/duplicity.log` and the folder `/var/log/duplicity`\nfor session logs. If you're running as an unprivileged user these log destinations need to be created manually.\n\n###Commands\n\nThe main commands are:\n\n* `dup -b` - perform backup (daily, weekly, whenever)\n* `dup -u` - cleanup archives (monthly, yearly)\n\n\nAvailable commands include:\n\n```\ndup - dup[licity] Management Script\n\n  Syntax: dup [command] [options]\n\n  Commands:\n    -b       perform backup\n    -h       help menu\n    -l       list backup files\n    -o       output todays log\n    -r       restore files (requires: -f -d [-t])\n    -s       status of backup\n    -u       cleanup backup(s)\n    -x       remove backup(s)\n\n        See configuration file for parameters used by `-x`\n\n  Options:\n    -c       configuration file\n\n        Unless specified, `/etc/duplicity/default.conf` is used\n\n    -d       destination to put restore\n    -f       file(s) to restore\n    -t       time to restore\n\n        now\n        2002-01-25T07:00:00+02:00\n        D=Days, W=Weeks, M=Months, Y=Years\n        h=hours, m=minutes, s=seconds\n```\n\n###To-Do:\n\n* Update log file handling with improved helper functions\n* Add handling for errors related to missing logging path\n\n\n[![Analytics](https://cjs-beacon.appspot.com/UA-10006093-3/github/cjsheets/duplicity-utils?pixel)](https://github.com/cjsheets/duplicity-utils)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcjsheets%2Fduplicity-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcjsheets%2Fduplicity-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcjsheets%2Fduplicity-utils/lists"}