Skip to main content

Backup user files on windows to 7z archives

Project description

Winbackup

PyPI GitHub release (latest by date including pre-releases) GitHub PyPI - Python Version Downloads GitHub Workflow Status (branch) GitHub Workflow Status (branch)

A python package to back up user files on Windows to 7z archives. Useful for offsite or cloud backups and backups can be optionally encrypted with AES256. Archives can be Optionally split archives into smaller archives for easier management. As well as user files can backup Plex Media Server, Hyper-V Virtual Machines and VirtualBox Virtual Machines.

  • embeds 7z to perform compression
  • saves lists of installed programs and drivers
  • optional AES256 encryption
  • Archives produced are full backups - no incremental backups at present
  • Archives saved in the format - host_user_yyyy-mm-dd_folder.7z
  • Tested on Windows 10, Python 3.7+ (not compatible with macOS or Linux)

Installation

Installation is from a package on GitHub Releases or from pip with pip install winbackup

Usage

Interactive CLI:

winbackup D:/backup_path

Run from configuration file:

winbackup -c ./winbackup_config.yaml

Create configuration file

Can also be run using a configuration file. To generate a blank configuration file use winbackup -C or winbackup --create-configfile. This config file must be modified before use with valid paths or will raise an exception whe run.

To generate a configuration file interactively run winbackup -i or winbackup --interactive-config. This file can be run without modification for later use.

Full CLI options

Available CLI options.

Flag Option Desc
-a --all Run backup with all possible backup targets selected
-c --configfile Run backup from a supplied yaml config file
-C --create-configfile Create a default configuration file template. Will need modified before being run.
-h --help Displays help information
-i --interactive-config Generate a configuration file interactively, can be run directly after generation
-q --quiet Minimal terminal output
-v --verbose Sets logging to debug. Only affects log file not stdout.
-V --version Print version info.
-y --autoconfirm Autoconfirm prompts
Tests

To run unitests

python -m unittest discover tests -v
python -m pytest tests -v 

Build Packages

python -m build

About

Creation date: 2021
Modified date: 03-05-2022
Dependencies: colorama, tqdm, Send2trash, humanize, PyYAML

Licence

This code is licensed under the GNU GPLv3 Licence. Included dependencies and code are covered by their own licence - check project pages for details.

Copyright (C) 2021-2022 Joe Campbell  
 GNU GENERAL PUBLIC LICENSE (GPLv3)  

This program is free software: you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY
without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see < https: // www.gnu.org/licenses/>.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

winbackup-0.2.0b0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

winbackup-0.2.0b0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file winbackup-0.2.0b0.tar.gz.

File metadata

  • Download URL: winbackup-0.2.0b0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for winbackup-0.2.0b0.tar.gz
Algorithm Hash digest
SHA256 818382373573767f4ef69acde221475176c5dcbc1e7d03007f1c3a682de677d0
MD5 2b91897e91562daadc2c019968f5b313
BLAKE2b-256 1c6765cdf0fff109fdff695b9247cb68ea96f856adf5b27b1051d417ebd375c9

See more details on using hashes here.

File details

Details for the file winbackup-0.2.0b0-py3-none-any.whl.

File metadata

  • Download URL: winbackup-0.2.0b0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for winbackup-0.2.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 e99459576622685ab410f3fa7bc52e42fff0bf9ce10cd6790e3459831cd787a3
MD5 1e206d2d16373208d355feec6b3c699c
BLAKE2b-256 dac3472975380e2cf6f6825d0f95e9d3f3e96475667bb80d0d2f0c02949a279c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page