Skip to content

Backup Tool with Repository Support

License

Notifications You must be signed in to change notification settings

thomasgottle/dev-sync

 
 

Repository files navigation

Dev Sync

Actions Status Actions Status Code style: black

This is a Python-based backup tool using rsync including backups for repositories based on Git and Mercurial.

Usage

Dev Sync

usage: devsync.py [-h] [--last_update YEAR MONTH DAY] [--dry-run] target config

Backup Data and Repositories to external devices.

positional arguments:
  target                Destination path the where backup should be stored
  config                Path to config file

optional arguments:
  -h, --help            show this help message and exit
  --last_update YEAR MONTH DAY
                        Last time update was performed. This will just update repositories after this date.
                        Format: YYYY MM DD (default: (1970, 1, 1))
  --dry-run             Perform a dry run without making real changes (default: False)

Config

The config file defines which folders should be saved. A sample config could look like below, which will backup all folders from backupFolder list relative to home

home: /home/user                    # Source root folder

backupFolder:                       # Folders that should be saved (relative to "home" variable)
  - path: Pictures                  # Folder name
  - path: Documents
  - path: Development

Development

# Install dependencies
pip install -r requirements.txt

# Install pre-commit hooks
pre-commit install

# Run tests
pytest

# Run coverage
make coverage

About

Backup Tool with Repository Support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.2%
  • Makefile 0.8%