Commit first skeleton code for pobsync
This commit is contained in:
41
README.md
Normal file
41
README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# pobsync
|
||||
|
||||
`pobsync` is a pull-based backup tool for sysadmins.
|
||||
It creates rsync-based snapshots with hardlinking (`--link-dest`) and stores them centrally on a backup server.
|
||||
|
||||
Backups are **pulled over SSH**, not pushed, and are designed to be run from cron or manually.
|
||||
|
||||
---
|
||||
|
||||
## Design overview
|
||||
|
||||
- Runtime, config, logs and state live under **`/opt/pobsync`**
|
||||
- Backup data itself is stored under a configurable **`backup_root`** (e.g. `/srv/backups`)
|
||||
- Two snapshot types:
|
||||
- **scheduled**
|
||||
Participates in retention pruning (daily / weekly / monthly / yearly)
|
||||
- **manual**
|
||||
Kept outside the scheduled prune chain, defaults to hardlinking from the latest scheduled snapshot
|
||||
- Minimal dependencies (currently only `PyYAML`)
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python **3.11+**
|
||||
- `rsync`
|
||||
- `ssh`
|
||||
- Root or sudo access on the backup server
|
||||
- SSH keys already configured between backup server and remotes
|
||||
|
||||
---
|
||||
|
||||
## Installation (system-wide, no venv)
|
||||
|
||||
This assumes you are installing as root or via sudo.
|
||||
|
||||
From the repository root:
|
||||
|
||||
```bash
|
||||
python3 -m pip install --upgrade pip
|
||||
sudo python3 -m pip install .
|
||||
Reference in New Issue
Block a user