{"id":13522390,"url":"https://github.com/rdiff-backup/rdiff-backup","last_synced_at":"2025-05-13T23:05:18.656Z","repository":{"id":37432237,"uuid":"51575388","full_name":"rdiff-backup/rdiff-backup","owner":"rdiff-backup","description":"Reverse differential backup tool, over a network or locally.","archived":false,"fork":false,"pushed_at":"2025-04-25T19:28:35.000Z","size":5409,"stargazers_count":1149,"open_issues_count":81,"forks_count":91,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-25T20:32:36.761Z","etag":null,"topics":["backup","backup-script","backup-solution","backup-utility","incremental-backups","rdiff-backup","rsync","rsync-backups"],"latest_commit_sha":null,"homepage":"https://rdiff-backup.net/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdiff-backup.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","contributing":"CONTRIBUTING.adoc","funding":null,"license":"COPYING","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,"zenodo":null}},"created_at":"2016-02-12T08:28:49.000Z","updated_at":"2025-04-25T07:56:36.000Z","dependencies_parsed_at":"2023-10-13T08:31:46.799Z","dependency_job_id":"edd7cc80-2880-4412-b617-57019bdcc329","html_url":"https://github.com/rdiff-backup/rdiff-backup","commit_stats":null,"previous_names":[],"tags_count":106,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdiff-backup%2Frdiff-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdiff-backup%2Frdiff-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdiff-backup%2Frdiff-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdiff-backup%2Frdiff-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdiff-backup","download_url":"https://codeload.github.com/rdiff-backup/rdiff-backup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254040643,"owners_count":22004586,"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":["backup","backup-script","backup-solution","backup-utility","incremental-backups","rdiff-backup","rsync","rsync-backups"],"created_at":"2024-08-01T06:00:46.547Z","updated_at":"2025-05-13T23:05:13.648Z","avatar_url":"https://github.com/rdiff-backup.png","language":"Python","funding_links":[],"categories":["Backup","Python","Python (1887)","HarmonyOS","others","Sync-Tools"],"sub_categories":["Windows Manager"],"readme":":doctype: book\n:sectnums:\n:toc!:\n\nimage::docs/resources/logo-banner.png[\"rdiff-backup banner\",align=\"center\"]\n\n[.text-center]\nlink:https://rdiff-backup.net/[*website*] .\nlink:https://github.com/rdiff-backup/rdiff-backup/releases[*download*] .\nlink:https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users[*community*]\n\n[.text-center]\nimage:https://img.shields.io/github/license/rdiff-backup/rdiff-backup[\"License\",link=\"COPYING\"]\nimage:https://bestpractices.coreinfrastructure.org/projects/6072/badge[\"OpenSSF Best Practices\",link=\"https://bestpractices.coreinfrastructure.org/projects/6072\"]\nimage:https://github.com/rdiff-backup/rdiff-backup/actions/workflows/test_linux.yml/badge.svg[Linux]\nimage:https://github.com/rdiff-backup/rdiff-backup/actions/workflows/test_windows.yml/badge.svg[Windows]\nimage:https://github.com/rdiff-backup/rdiff-backup/actions/workflows/jekyll-gh-pages.yml/badge.svg[Pages]\n\n= rdiff-backup\n\nrdiff-backup is a simple backup tool which can be used locally and remotely, on Linux and Windows, and even cross-platform between both.\nUsers have reported using it successfully on FreeBSD and MacOS X.\n\nBeside its ease of use, one of the main advantages of rdiff-backup is that it does use the same efficient protocol as rsync to transfer and store data.\nBecause rdiff-backup only stores the differences from the previous backup to the next one (a so called https://en.wikipedia.org/wiki/Incremental_backup#Reverse_incremental[reverse incremental backup]), the latest backup is always a full backup, making it easiest and fastest to restore the most recent backups, combining the space advantages of incremental backups while keeping the speed advantages of full backups (at least for recent ones).\n\nIf the optional dependencies pylibacl and pyxattr are installed, rdiff-backup will support https://en.wikipedia.org/wiki/Access-control_list#Filesystem_ACLs[Access Control Lists] and https://en.wikipedia.org/wiki/Extended_file_attributes[Extended Attributes] provided the file system(s) also support these features.\n\n== INSTALLATION\n\nIn older Linux distributions the rdiff-backup versions are of the 1.x series, which is not recommended for new installs anymore.\nFollow the instructions below to install the latest 2.x release of rdiff-backup.\n\nCAUTION: rdiff-backup 1.x and 2.x aren't compatible and can't be mixed in server/client mode!\nSee xref:docs/migration.adoc[how to migrate side-by-side].\n\n=== Ubuntu Focal or Debian Bullseye or newer (has 2.0)\n\n----\nsudo apt install rdiff-backup\n----\n\n=== Ubuntu backports for older versions (needs a backported 2.0)\n\n----\nsudo apt install software-properties-common\nsudo add-apt-repository ppa:rdiff-backup/rdiff-backup-backports\nsudo apt update\nsudo apt install rdiff-backup\n----\n\n=== RHEL 7 and its replicas (from EPEL)\n\n----\nsudo yum install epel-release\nsudo yum install rdiff-backup\nsudo yum install py3libacl pyxattr\n----\n\nNOTE: the last line is optional to get ACLs and EAs support.\n\n=== RHEL 8 and its replicas (from EPEL)\n\n----\nsudo dnf install epel-release\nsudo dnf --enablerepo=PowerTools install rdiff-backup\n----\n\nNOTE: you can add the option `--setopt=install_weak_deps=False` to the last line if you don't need ACLs and EAs support.\nYou can install `python3-pylibacl` and `python3-pyxattr` also separately.\nUnder RHEL, the repo to enable is https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/package_manifest/codereadylinuxbuilder-repository[codeready-builder-for-rhel-8-x86_64-rpms] in order to get access to pyxattr, instead of PowerTools.\n\nNOTE: This does not enable updates for `PowerTools`, check the distribution documentation for details on how to do this.\n\n=== Fedora 34+\n\n----\nsudo dnf install rdiff-backup\n----\n\nNOTE: for earlier versions, see the COPR instructions below.\n\n=== Debian and derivatives, Raspbian, etc. (from PyPi)\n\n----\nsudo apt install python3-pip python3-setuptools python3-pylibacl python3-pyxattr\nsudo pip3 install rdiff-backup\n----\n\nNOTE: If your platform is not i386 or amd64, e.g.\nARM/MIPS/etc, you may need the build dependencies `build-essentials`, `librsync-dev`.\n\n=== CentOS and RHEL 6 (from PyPi)\n\n----\nsudo yum install centos-release-scl\nsudo yum install rh-python36 gcc libacl-devel\nscl enable rh-python36 bash\nsudo pip install rdiff-backup pyxattr pylibacl  # or rdiff-backup[meta]\necho 'exec scl enable rh-python36 -- rdiff-backup \"$@\"' | sudo tee /usr/bin/rdiff-backup\nsudo chmod +x /usr/bin/rdiff-backup\n----\n\n=== Fedora and derivatives (from PyPI)\n\n----\nsudo dnf install python3-pip python3-setuptools py3libacl python3-pyxattr\nsudo pip3 install rdiff-backup\n----\n\n=== Other Linux and UN*X-oid systems, e.g. BSD (from PyPi)\n\nYou need to make sure that the following requirements are met, using your system's package/software/application manager, searching there for the following keywords:\n\n* __Python__, 3.9 or higher\n* Python __pip__ or __pip3__, e.g. with `python -m ensurepip --upgrade`\n* __librsync__ or __librsync2__, 2.0.0 or higher\n* __libacl__ or __libacl1__ or simply __acl__ (optional, to support ACLs)\n* SSH, generally __OpenSSH__, client and/or server (optional, for remote operations)\n\nThen you should only need to call one of the following before you can use rdiff-backup:\n\n[source,shell]\n----\nsudo pip3 install rdiff-backup        # without optional dependencies\nsudo pip3 install rdiff-backup[meta]  # with support for metadata, ACLs and EAs\n----\n\nNOTE: especially if your platform is _not_ i386 or amd64, e.g.\nARM/MIPS/PowerPC/etc, but also if the pip3 installation fails with `#include [...].h` files missing, you may need the build dependencies named like `python3-devel`, `librsync-dev` or `libacl1-dev`.\n\n=== Windows\n\nJust download and unpack the file `rdiff-backup-VERSION.win64exe.zip` (or win32 if need be).\nIt is available as _asset_ attached to one of the releases available in the https://github.com/rdiff-backup/rdiff-backup/releases[releases section].\nThen drop the binary `rdiff-backup.exe` somewhere in your PATH and it should work, as it comes with all dependencies included.\n\nNOTE: starting with rdiff-backup 2.1.1 embedding Python 3.10, rdiff-backup https://www.python.org/downloads/windows/[cannot be used on Windows 7 or earlier].\n\nAnother way to install rdiff-backup is to use https://chocolatey.org/[Chocolatey] and call https://community.chocolatey.org/packages/rdiff-backup#install[choco install rdiff-backup].\n\nFor remote operations, you will need to have an SSH package installed.\nThe standard one provided by Microsoft is probably your safest choice, else we recommend using OpenSSH from http://www.mls-software.com/opensshd.html[mls-software.com].\n\n== BASIC USAGE\n\nCreating your first backup is as easy as calling `rdiff-backup \u003csource-dir\u003e \u003cbackup-dir\u003e` (possibly as root), e.g.\n`rdiff-backup -v5 /home/myuser /run/media/myuser/MYUSBDRIVE/homebackup` would save your whole home directory (under Linux) to a USB drive (which you should have formatted with a POSIX file system, e.g.\next4 or xfs).\nWithout the `-v5` (v for verbosity), rdiff-backup isn't very talkative, hence the recommendation.\n\nSubsequent backups can simply be done by calling exactly the same command, again and again.\nOnly the differences will be saved to the backup directory.\n\nIf you need to restore the latest version of a file you lost, it can be as simple as copying it back using normal operating system means (cp or copy, or even pointing your file browser at the backup directory).\nE.g.\ntaking the above example `cp -i /run/media/myuser/MYUSBDRIVE/homebackup/mydir/myfile /home/myuser/mydir/myfile` and the lost file is back!\n\nThere are many more ways to use and tweak rdiff-backup, they're documented in the man pages, in the link:docs/[documentation directory], or on https://rdiff-backup.net[our website].\n\n== TROUBLESHOOTING\n\nIf you have everything installed properly, and it still doesn't work, see the enclosed xref:docs/FAQ.adoc[FAQ], the https://rdiff-backup.net/[rdiff-backup web page] and/or the https://lists.nongnu.org/mailman/listinfo/rdiff-backup-users[rdiff-backup-users mailing list].\n\nWe're also happy to help if you create an issue to our https://github.com/rdiff-backup/rdiff-backup/issues[GitHub repo].\nThe most important is probably to explain what happened with which version of rdiff-backup, with which command parameters on which operating system version, and attach the output of rdiff-backup run with the very verbose option `-v9`.\n\nThe FAQ in particular is an important reference, especially if you are using smbfs/CIFS, Windows, or have compiled by hand on Mac OS X.\n\n== CONTRIBUTING\n\nRdiff-backup is an open source software developed by many people over a long period of time.\nThere is no particular company backing the development of rdiff-backup, so we rely very much on individual contributors who \"scratch their itch\".\n*All contributions are welcome!*\n\nThere are many ways to contribute:\n\n* Testing, troubleshooting and writing good bug reports that are easy for other developers to read and act upon\n* Reviewing and triaging https://github.com/rdiff-backup/rdiff-backup/issues[existing bug reports and issues], helping other developers focus their efforts\n* Writing documentation (e.g.\nthe xref:docs/rdiff-backup.1.adoc[man page]), or updating the webpage rdiff-backup.net\n* Packaging and shipping rdiff-backup in your own favorite Linux distribution or operating system\n* Running tests on your favorite platforms and fixing failing tests\n* Writing new tests to get test coverage up\n* Fixing bug in existing features or adding new features\n\nIf you don't have anything particular in your mind but want to help out, just browse the list of issues.\nBoth coding and non-coding tasks have been filed as issues.\n\nFor source code related documentation see xref:docs/DEVELOP.adoc[docs/DEVELOP.adoc]\n\n=== Installing latest development release\n\nTo provide meaningful bug reports and help with testing, please use the latest development release.\n\n==== Ubuntu and Debian development releases\n\n----\nsudo add-apt-repository ppa:rdiff-backup/rdiff-backup-development\nsudo apt update\nsudo apt install rdiff-backup\n----\n\n==== Fedora, CentOS and RHEL (from COPR)\n\nOn CentOS and RHEL (7 and 8):\n\n----\nsudo yum install dnf-plugins-core epel-release\nsudo yum copr enable frankcrawford/rdiff-backup\nsudo yum install rdiff-backup\n----\n\nOn Fedora 30+:\n\n----\nsudo dnf install dnf-plugins-core\nsudo dnf copr enable frankcrawford/rdiff-backup\nsudo dnf install rdiff-backup\n----\n\n==== PyPi pre-releases\n\n----\nsudo pip3 install rdiff-backup --pre\n----\n\n== Packaging status in distros\n\nimage::https://repology.org/badge/vertical-allrepos/rdiff-backup.svg?columns=4\u0026minversion=2.2[Packaging status,link=https://repology.org/project/rdiff-backup/versions]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdiff-backup%2Frdiff-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdiff-backup%2Frdiff-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdiff-backup%2Frdiff-backup/lists"}