add purpose, examples, depends

Signed-off-by: first <first@noreply.git.r21.io>
This commit is contained in:
first 2025-01-24 07:30:57 +00:00
parent d1bfb381d4
commit 18b9a35290

View file

@ -1,4 +1,13 @@
# backup2mdisc # backup2mdisc
## Purpose:
1. Scans all files in a source directory.
2. Groups them into "chunks" so that each chunk is <= a specified size (default 100GB).
3. Creates a TAR archive of each chunk, compresses it with `lz4`, and encrypts it with GPG (AES256).
4. Each `.tar.lz4.gpg` is fully independent (no other parts/discs needed to restore that chunk).
5. (Optional) Creates ISO images from each encrypted chunk if `--create-iso` is provided.
6. (Optional) Burns each chunk or ISO to M-Disc if `--burn` is provided.
## How It Works ## How It Works
1. **File Collection & Sorting** 1. **File Collection & Sorting**
@ -35,6 +44,25 @@
--- ---
## Usage:
`./backup_in_individual_chunks.sh /path/to/source /path/to/destination [CHUNK_SIZE] [--create-iso] [--burn]`
## Examples:
`./backup_in_individual_chunks.sh /home/user/data /mnt/backup 100G --create-iso`
`./backup_in_individual_chunks.sh /data /backup 50G --burn`
## Dependencies:
- `bash`
- `gpg` (for encryption)
- `lz4` (for fast compression)
- `tar`
- `split` or file-based grouping approach
- `sha256sum` (or '`shasum -a 256`' on macOS/FreeBSD)
- `genisoimage` or `mkisofs` (for creating ISOs if `--create-iso`)
- `growisofs` (Linux) or `hdiutil` (macOS) for burning if `--burn`
---
## Restoring Your Data ## Restoring Your Data
- **Disc is self-contained**: If you have disc #4 containing `chunk_004.tar.lz4.gpg`, you can restore it independently of the others. - **Disc is self-contained**: If you have disc #4 containing `chunk_004.tar.lz4.gpg`, you can restore it independently of the others.