Windows disk cloning and backup utility
- disk cloning
- simple backup system
- backup files/dirs to a single .zip
- restore files/dir from a backup file (to their original paths)
- verify backups (SHA256 digests)
.\Ratonis.exe -h
Description:
Ratonis - disk cloning and backup utility
Usage:
Ratonis [command] [options]
Options:
--version Show version information
-?, -h, --help Show help and usage information
Commands:
targets List available cloning targets
clone <source> <destination> Perform a disk clone
backup <path> Backup a list of directories/files
verify <path> Verify a backup file
restore <path> Restore a backup
Below are examples of how you can use Ratonis.
.\Ratonis.exe targets
Target { Index = 1, TargetId = \\.\PHYSICALDRIVE1, Model = QEMU QEMU HARDDISK SCSI Disk Device, InterfaceType = SCSI, MediaType = Fixed hard disk media, Description = Stacja dysków, Size = 1069286400, SizeInGB = 1,00 GB }
Target { Index = 0, TargetId = \\.\PHYSICALDRIVE0, Model = QEMU QEMU HARDDISK SCSI Disk Device, InterfaceType = SCSI, MediaType = Fixed hard disk media, Description = Stacja dysków, Size = 42944186880, SizeInGB = 39,99 GB }
Target { Index = 2, TargetId = \\.\PHYSICALDRIVE2, Model = QEMU QEMU HARDDISK SCSI Disk Device, InterfaceType = SCSI, MediaType = Fixed hard disk media, Description = Stacja dysków, Size = 1069286400, SizeInGB = 1,00 GB
Make sure to run as admin!
Ratonis.exe clone \\.\PHYSICALDRIVE1 \\.\PHYSICALDRIVE2
Bringing \\.\PHYSICALDRIVE2 offline
Using sector size of 512 bytes
Written: 4194304/1069286400 bytes (0,00/1,00 GB)
Written: 8388608/1069286400 bytes (0,01/1,00 GB)
Written: 12582912/1069286400 bytes (0,01/1,00 GB)
Written: 16777216/1069286400 bytes (0,02/1,00 GB)
Written: 20971520/1069286400 bytes (0,02/1,00 GB)
[...]
Written: 1052770304/1069286400 bytes (0,98/1,00 GB)
Written: 1056964608/1069286400 bytes (0,98/1,00 GB)
Written: 1061158912/1069286400 bytes (0,99/1,00 GB)
Written: 1065353216/1069286400 bytes (0,99/1,00 GB)
Written: 1069286400/1069286400 bytes (1,00/1,00 GB)
All done!
Bringing \\.\PHYSICALDRIVE2 online
Usage:
Ratonis.exe backup -h
Description:
Backup a list of directories/files
Usage:
Ratonis backup [<path>...] [options]
Arguments:
<path> Path to backup target(s) (file/dir)
Options:
--description <description> Short backup name/description [default: Unnamed]
--output-directory <output-directory> Output directory for the backup file (auto-generated name) [default:
C:\Users\bonk\Desktop\aa]
--output-file <output-file> Output path for the backup file (overrides --output-directory)
-?, -h, --help Show help and usage information
Actual example:
Ratonis.exe backup test1\ test2\ test3.txt --description "example backup"
Collecting paths
Marking C:\Users\bonk\Desktop\aa\test3.txt (file) as backup target
Adding C:\Users\bonk\Desktop\aa\test1\aaaaa.txt to C:\Users\bonk\AppData\Local\Temp\tmpxx0uc5.tmp (rel: aaaaa.txt)
Adding C:\Users\bonk\Desktop\aa\test2\aaaaa.txt to C:\Users\bonk\AppData\Local\Temp\tmpof3hcj.tmp (rel: aaaaa.txt)
Adding C:\Users\bonk\Desktop\aa\test1\bccc.txt to C:\Users\bonk\AppData\Local\Temp\tmpxx0uc5.tmp (rel: bccc.txt)
Adding C:\Users\bonk\Desktop\aa\test2\bccc.txt to C:\Users\bonk\AppData\Local\Temp\tmpof3hcj.tmp (rel: bccc.txt)
Adding C:\Users\bonk\Desktop\aa\test1\test2 to C:\Users\bonk\AppData\Local\Temp\tmpxx0uc5.tmp (rel: test2)
Adding C:\Users\bonk\Desktop\aa\test2\test2 to C:\Users\bonk\AppData\Local\Temp\tmpof3hcj.tmp (rel: test2)
Adding C:\Users\bonk\Desktop\aa\test1\test2\aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt to C:\Users\bonk\AppData\Local\Temp\tmpxx0uc5.tmp (rel: test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt)
Adding C:\Users\bonk\Desktop\aa\test2\test2\aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt to C:\Users\bonk\AppData\Local\Temp\tmpof3hcj.tmp (rel: test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt)
Backup path: C:\Users\bonk\Desktop\aa\9da06c02-9d04-4e49-b8f3-a7aad4d83334-20250605-183931.zip
Compressing C:\Users\bonk\Desktop\aa\test1\ (c4c5d655-5825-4c4e-bdb8-7a8ff340cdff)
Compressing C:\Users\bonk\Desktop\aa\test2\ (81f48fb2-63ce-410a-8669-ce54b9737847)
Compressing C:\Users\bonk\Desktop\aa\test3.txt (c1f255c7-04e1-4cb0-a337-29628e010ff2)
Writing index
Writing info
Deleting tmp files
Deleting C:\Users\bonk\AppData\Local\Temp\tmpxx0uc5.tmp
Deleting C:\Users\bonk\AppData\Local\Temp\tmpof3hcj.tmp
Backup done
.\Ratonis.exe verify 9da06c02-9d04-4e49-b8f3-a7aad4d83334-20250605-183931.zip
============BACKUP INFO============
Description: example backup
Done at: 05.06.2025 18:39:31
===================================
Verifying backup entry: c4c5d655-5825-4c4e-bdb8-7a8ff340cdff
Successfully verified backup entry (guid=c4c5d655-5825-4c4e-bdb8-7a8ff340cdff)
Tar entry: C:\Users\bonk\Desktop\aa\test1\aaaaa.txt. Size: 272 bytes (guid=c4c5d655-5825-4c4e-bdb8-7a8ff340cdff)
Tar entry: C:\Users\bonk\Desktop\aa\test1\bccc.txt. Size: 34 bytes (guid=c4c5d655-5825-4c4e-bdb8-7a8ff340cdff)
Tar entry: C:\Users\bonk\Desktop\aa\test1\test2. Size: 0 bytes (guid=c4c5d655-5825-4c4e-bdb8-7a8ff340cdff)
Tar entry: C:\Users\bonk\Desktop\aa\test1\test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt. Size: 0 bytes (guid=c4c5d655-5825-4c4e-bdb8-7a8ff340cdff)
Entry c4c5d655-5825-4c4e-bdb8-7a8ff340cdff done
Verifying backup entry: 81f48fb2-63ce-410a-8669-ce54b9737847
Successfully verified backup entry (guid=81f48fb2-63ce-410a-8669-ce54b9737847)
Tar entry: C:\Users\bonk\Desktop\aa\test2\aaaaa.txt. Size: 272 bytes (guid=81f48fb2-63ce-410a-8669-ce54b9737847)
Tar entry: C:\Users\bonk\Desktop\aa\test2\bccc.txt. Size: 34 bytes (guid=81f48fb2-63ce-410a-8669-ce54b9737847)
Tar entry: C:\Users\bonk\Desktop\aa\test2\test2. Size: 0 bytes (guid=81f48fb2-63ce-410a-8669-ce54b9737847)
Tar entry: C:\Users\bonk\Desktop\aa\test2\test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt. Size: 0 bytes (guid=81f48fb2-63ce-410a-8669-ce54b9737847)
Entry 81f48fb2-63ce-410a-8669-ce54b9737847 done
Verifying backup entry: c1f255c7-04e1-4cb0-a337-29628e010ff2
Successfully verified backup entry (guid=c1f255c7-04e1-4cb0-a337-29628e010ff2)
File entry: C:\Users\bonk\Desktop\aa\test3.txt. Size: 34 bytes (guid=c1f255c7-04e1-4cb0-a337-29628e010ff2)
Entry c1f255c7-04e1-4cb0-a337-29628e010ff2 done
Backup file verified successfully
.\Ratonis.exe restore 9da06c02-9d04-4e49-b8f3-a7aad4d83334-20250605-183931.zip
============BACKUP INFO============
Description: example backup
Done at: 05.06.2025 18:39:31
===================================
Verifying backup entry: c4c5d655-5825-4c4e-bdb8-7a8ff340cdff
Extracting aaaaa.txt to C:\Users\bonk\Desktop\aa\test1\aaaaa.txt
Extracting bccc.txt to C:\Users\bonk\Desktop\aa\test1\bccc.txt
Extracting test2 to C:\Users\bonk\Desktop\aa\test1\test2
Extracting test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt to C:\Users\bonk\Desktop\aa\test1\test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt
Entry c4c5d655-5825-4c4e-bdb8-7a8ff340cdff done
Verifying backup entry: 81f48fb2-63ce-410a-8669-ce54b9737847
Extracting aaaaa.txt to C:\Users\bonk\Desktop\aa\test2\aaaaa.txt
Extracting bccc.txt to C:\Users\bonk\Desktop\aa\test2\bccc.txt
Extracting test2 to C:\Users\bonk\Desktop\aa\test2\test2
Extracting test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt to C:\Users\bonk\Desktop\aa\test2\test2/aaaaaaaaaaaaaaaaaaaaaaaaaaa.txt
Entry 81f48fb2-63ce-410a-8669-ce54b9737847 done
Verifying backup entry: c1f255c7-04e1-4cb0-a337-29628e010ff2
Extracting c1f255c7-04e1-4cb0-a337-29628e010ff2 to C:\Users\bonk\Desktop\aa\test3.txt
Entry c1f255c7-04e1-4cb0-a337-29628e010ff2 done
Restore done