/SuperMemoBackup

This is a mirror for a Snapshot & Backup Software that I developped with SuperMemo in mind. Its applications are wider than just SM, so I am hosting it on my personal GitHub. Please refer to the next link for questions/issues:

Primary LanguageC#MIT LicenseMIT

BitShelter

BitShelter a is software that builds on Microsoft's VSS technology to keep a version history of your files, and make external backups of them.

Have you deleted a file by mistake ? Modified a document and wish to revert the changes ? Has one of your drive failed ? BitShelter has got you covered in all these cases !

ATTENTION: BitShelter is a Work In Progress, you may encounter bugs and not all features are available yet.

Table of Content

Screenshots

File Version History Rewinding time
New rule: General New rule: Schedule
List of defined Rules New rule: Advanced

Features

Snapshots: Keep a version history of your files

[WIP] Backups: Secure your data on other drives, or off-site

  • Easily integrates with popular Cloud storage providers (Dropbox, GDrive, ...) using their folder syncing feature
  • Granular filtering of backed-up files with Glob and Regex patterns
  • Archive (.zip, .tar) and compress (deflate, bzip2, lzma) your files
  • Encrypt your files: 3 Protocols (Simple AES, PBE, PGP), Several Algorithms (AES-CBC/CFC, Blowfish, Camellia128/258, Cast5, 3-DES, SHA1/256-Twofish, SHA1/256-3-DES, SHA1/256-AES128/256)
  • [WIP] Schedule your backups more finely, based on the Snapshot's schedule
  • [WIP] Control the maximum size and rotation of your backups
  • Backup your data even when they are locked by other Processes (see Snaphots)

Limitations

If you know a work-around for these limitations, please let me know here or by email

How does it work ?

Operation Result Location Size Speed
Snapshot This is similar to Ctrl+Z for files. Every time a snapshot is created, the system memorizes the content of your files. You can browse, view and restore them to earlier versions. You can continue your work without interference during the process1 Same drive as data As much as the difference between each consecutive snapshot Almost instantaneous
Backup This is similar to Ctrl+C and Ctrl+V: Backups create a copy of your files. They can be stored locally or remotely. You can optionaly archive them with compression (e.g. zip, tar.gz), and encrypt them. Because Backups operate on Snapshots, you can continue your work without interference during the process1. See best practices for recommendations Local drive, Network drive, Removable device, ... At most as much as the data, less if compressed Minutes to hours depending on size, disk speed, compression, encryption
Cloud sync While BitShelter knows nothing about Cloud Storage, you can use backups to create copies of your work in Sync folders of popular providers. They will in turn be sent to your space on the Cloud In the cloud As much as backups, only counting toward your Cloud Storage space Minutes to hours, depending on size, upload speed

1: When a snapshot is created, existing data aren't copied. Instead, an index of where the data exist is built and new data written to free space. This is extremely fast, and allow to operate on snapshots concurrently with the "live data". For more information, see Copy-on-write

Requirements

  • While BitShelter should run on any Windows higher or equal to Vista, as of now (2018-05-05) it has only been tested on Windows 10
  • .NET 6.0.1 or higher (installed during Setup)
  • Configured Devices in Windows System Protection (see Installation and Usage)

Downloads

All releases

Latest version (installer)

Make sure to follow the instructions about System Protection and Raise limit, see Installation and Usage

Installation and Usage

  1. Download the latest version, and run the installer
  2. Start BitShelter Agent from the Windows Start menu
  3. Double-click on the Tray Icon:
  4. In the Main Window, click the Add Schedule button
    • Click on Enable other Drive(s) in the General tab
    • Select the required Drives in the System Protection dialog and click on Configure
    • In the new dialog click on Turn on protection, select the desired reserved space for Snapshots, press OK
    • Click on Raise limit in the General tab, and set the new limit to 512
    • Select desired Drive letters and Lifetime in the General tab
    • Set the desired schedule for your Snapshots in the Schedule tab
    • Press the Create button
    • To make sure your settings are correct, verify the snapshots are properly created on selected Drives

Upgrading

BitShelter cannot Auto-Update itself yet. To upgrade to a newer version, please uninstall the existing application, and run the installer for the new version.

All your settings, snapshots and logs will be preversed.

Best practices

Rule of thumb: The 3-2-1 Backup Rule and its visual guide

For your Local disks:

  • Prefer Redudant Disk Storage, such as RAID 1 or 5
  • Use different Batches, or Brands, for your Disks
  • Use an automatic solution : Set & Forget !
  • Ask yourself what would happen if your device failed:
    • Would you presently be able to recover your files ?
    • What data would you lose ?
    • Is it important ?

Here are three introduction guides to Data Safety:

FAQ

  • Is VSS safe ?

I have come across a number of older (2010-2014) posts about issues with VSS, below is an account of them.

According to my own experience, after using BitShelter for over a month as of the time of this writing (2018-05-05, Windows 10, Version 1709), I have never experienced any of them ; despite several trials to reproduce these issues, in different environments.

Snapshot corruption: restored files are damaged

  • How to start the Agent at startup ?

The Service is configured to run at startup, so BitShelter will still be active even if the Agent is stopped. If you wish you automatically run BitShelter Agent when your computer starts:

  1. Run the Agent
  2. Right-click on its Tray Icon
  3. Make sure Run at startup is Checked.
  • Connection to the service failed: What to do ?

Please make sure the BitShelter Service is running

Connection failed BitShelter Service

Glossary

Todo

Special thanks, Credits, Licenses

BitShelter is built on the work of people who pledged their time to the Open Source community.

I would like to emphasize on the importance of their contribution, and extend my gratitude especially to (but not limited to):

  • Peter Palotas for his incredible AlphaVSS (central piece of BitShelter)
  • Faan for her amazing banner. She's open to new opportunities, if you're looking for talented designers please contact me by email !
  • (todo)

All required licenses can be found at the root of this project repository. If however you found that I omitted to include the terms of the license for one of your work, by all mean please let me know so that I may correct this.