Skip to main content

Backup Data Checker

Project description

Overview

bdchecker (Backup Data Checker) is a tool for checking personal cold backup data, helping you discover data corruption in time

Why use it

Imagine that we have some data that needs to be cold backup, which may be the raw market data of a certain financial market that is compressed every day; or some electronic versions of classic movies owned by individuals; or some keys that are not used all year round; Let’s first list some options:

Storage plan Storage life span
SSD several years to more than ten years
HDD 10+ years
tape drive 30+ years
punched paper thousand of years
Carved in stone (Luo Ji raised his crutch above his head and shouted solemnly) millions of years

There is no doubt that if you have enough financial resources to engrave the information on stone and store it properly, it should be very safe unless you are attacked by a dual-vector foil attack; but for individuals, the cost of reading information from stones should be far greater than the value of the data we need to save.
So when considering the ease of reading and writing of data, there is no doubt that the hard disk is the most convenient; but this brings additional requirements, that is, we need to regularly check whether the data is corrupted, this is the reason why use bdchecker

Install

  • use pip
pip install bdchecker
  • download from project's Releases, and decompress

Usage

bdchecker include 3 sub-command

  • gen: scan directory, recursively traverse to generate the hash information of all new files in the directory, and place them in the .bdchecker.meta folder.
  • clean: scan directory, clean deleted files from hash information
  • check: scan directory, Find corrupted files (note that this operation will calculate the hash value of all files, which is more time-consuming)

Example directory

Assume that we currently have the following directory structure

data
├──── a.txt
├──── b.txt
└──── c
      ├──── c1.txt
      └──── c2.txt

Command: gen

Generate hash infos

bdchecker gen -d data -v 1
  • -d: directory for which information needs to be generated
  • -v: verbose level

After missiong completed, you can see console output: dump meta info to data/.bdchecker.meta/sha256.csv
When there are no new files in the directory, repeatedly executing the gen command will not actually generate the hash information of the file.

Command: clean

remove data/c/c2.txt, then run

bdchecker clean -d data -v 1

You can see in the last few lines of the log: clean missing file's meta info: c/c2.txt, which means that we have successfully cleaned the hash information corresponding to the file.

Command: check

run

bdchecker check -d data -v 1

The last line of the log appears: all check pass, which means there are no new/deleted files and all files are not corrupted.

Now, let's modify a.text, write something randomly, and then run again

bdchecker check -d data -v 1

At this time, an error message appears in the log: check failed: a.txt, old hash: ..., cur hash: ..., indicating that the content of a.txt has changed.

Migration and comparison

The hash information generated by bdchecker will be saved in the .bdchecker.meta in the directory, so you can directly migrate the entire folder during migration.
When there are already multiple backup data and no hash value has been generated; at this time, you can use the bdchecker gen command to generate a hash value for each backup data, and then compare the two files. Since the generated file lines are already sorted, so you can directly use commands such as diff for comparison.

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

bdchecker-0.0.2.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

bdchecker-0.0.2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file bdchecker-0.0.2.tar.gz.

File metadata

  • Download URL: bdchecker-0.0.2.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for bdchecker-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f4f9552fe59f30bc06b5da0c28404cdee8ad8333d7895d72c47c7f6a2dbfd92b
MD5 4fb2a3b0f7546d5fe6a8300e20580885
BLAKE2b-256 28037038f24a4940c9af1c3a345a359f7a5dad7be3d5152c98957b5a3099f7d9

See more details on using hashes here.

File details

Details for the file bdchecker-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: bdchecker-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for bdchecker-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dd2d4b035e5b699fd603dcccfb6d2b4f60289ffa4d92a8fad731331d81ebd831
MD5 827945da642936e831f6310f8743b854
BLAKE2b-256 a161e99ca1f181deddf5ca2fbf28cbfb0c281540b63de9a808fa513fa20745f1

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