Requirements: cygwin+perl and "run as Administrator".
This backup script copies every new source file on any drive to a "pool"-directory on the backup drive AND creates a hard link to MACHINENAME-YYYY-MM-DD--HH-MI-SS/cygdrive/...
The SHA-256-ckecksum of each file to be copied is calculated, and this file is then copied to it's checksum name like pool/12/34/567890ABCDEF...
Theoretically, there could occur a unwanted collision; in practice, this does not matter if you're want to backup less than 2^64 files.
The backup drive is marked as such when containing a file named "backup-drive.txt".
Whatever you rename your files to, regardless in which directory or drive or PC it is stored, the space on the backup drive will only be allocated once. No duplicates on the backup drive.
For faster backup, a sha256.cache file will be stored on each drive, containing filename, size, modification time, checksum.
This backup script is not for system backup, just for data files.
Features
- Economical use of backup space using cross-pc file level "checksum deduplication"
- Backup-"history" allocates as less as possible backup space
- Very easy recovery: using windows explorer