https://github.com/harsh8398/backup.py
Recursive/Incremental File Backup Utility Implemented in Python
https://github.com/harsh8398/backup.py
algorithm backup incremental-backup python rsync
Last synced: 1 day ago
JSON representation
Recursive/Incremental File Backup Utility Implemented in Python
- Host: GitHub
- URL: https://github.com/harsh8398/backup.py
- Owner: harsh8398
- License: mit
- Created: 2017-03-15T14:55:05.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-02-01T07:00:39.000Z (almost 6 years ago)
- Last Synced: 2025-10-27T10:52:24.936Z (3 months ago)
- Topics: algorithm, backup, incremental-backup, python, rsync
- Language: Python
- Homepage:
- Size: 117 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://travis-ci.org/harsh8398/backup.py)
[](https://codecov.io/gh/harsh8398/backup.py/branch/master)


# BACKUP.PY
PyBackup is a recursive/incremental backup utility package written purely in Python. This main feature of the package is its incremental backup which incrementally copies only the files that are added or the parts of the file which are changed. To achieve the later scenario it uses rsync algorithm for which you can find the details [here](https://rsync.samba.org/tech_report/tech_report.html).
### Prerequisites
- Python 3.5 or above
### Quick Install
```sh
pip install backup.py
```
### Simple Example
This package also installs a script which you can run in the shell as follows:
```sh
pybackup ~/path/to/the/source/dir ~/path/to/the/destination/dir
```
Or you can use its Python interface as follows:
```python
from backup import IncrementalBackup
source_dir = "~/path/to/the/source/dir"
destination_dir = "~/path/to/the/destination/dir"
IncrementalBackup(src=source_dir, dst=destination_dir).run()
```
## Versioning
For the versions available, see the [tags on this repository](https://github.com/harsh8398/pybackup/tags).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE.txt) file for details.
## Acknowledgments
This project was solely inspired by [rsync](https://linux.die.net/man/1/rsync).