On Linux, I use rsync for backups, including whole-system backups of live computers. Once you select the right options it's pretty straightforward. For bare-metal restore, you just put the partitions in place, restore files and reinstall the bootloader. Backups are fast because you can update a backup with only files that have changed, restores can be similarly accelerated. And the backups are just regular files that you can easily browse through.
I wish I could do something like that on Windows. I thought I had found an rsync equivalent with robocopy (in combination with VSS for reading all files from a live system), but it turns out it doesn't handle all the various filesystem link types correctly. I can save a list of them with "dir /AL /S C:\" and restore them manually, but that's far from ideal (especially with my new OS setup that has many custom links), so now I'm considering other backup options.
Things I'm trying to avoid:
- Container files
- Setups that have to copy all the data every time, such as disk cloning. Keep in mind this install is spread over an SSD and a RAID0 array of 10krpm drives connected with symlinks and mountpoints, so technically "disk cloning" is not an option. The destination is a HDD about the size of the SSD + RAID0 combined.
Total dealbreakers:
- Proprietary container files that I can't look inside
- Software that costs money
Any suggestions? Or is my setup that breaks links which I'd have to restore manually the ideal solution?
Note: this is just from the Google:
https://itefix.net/cwrsync
The 2 I've used on Windows don't meet your dealbreakers: Acronis TrueImage, which costs money (and didn't really work that well anyway, at least when I used it) and Western Digital SmartWare, which comes with their external drives and uses container files that you can't look inside, you have to use SmartWare. It does seem to work though (currently recovering my parents' PC from a hard drive failure)
I'm using EaseUS TODO backup, but a) that also costs money and b) it uses container files that you can't look into.
Seems to work pretty otherwise.
I've used rsync from cygwin before, but that doesn't preserve permissions, and it looks like cwrsync has the same problem. That's a bigger problem than a failure to preserve certain link types.
I can't think of anything that would, off-hand. It's not very friendly for that sort of thing.
Is there any way you can have a backup image of the non-data stuff and a separate live backup of the data?
What do you mean by "non-data stuff?" I'm not worried about preserving the bootloader or partition table, those can be recreated.
I've heard of this tool before, it looks like it could do the job, another rsync-like tool but it can handle all the link types unlike robocopy:
https://ipmsg.org/tools/fastcopy.html.en
In reply to GameboyRMH:
The thought that came to mind was to have a working image of the OS, applications, etc. but to have any databases, websites, documents, etc. be on a live backup.
ImageX, its a Microsoft deployment tool, but you can use it to backup and access the compressed image file to view or edit files, etc.
Runs from command line, etc.
Thread resurrection: Worked something out with FastCopy:
https://ipmsg.org/tools/fastcopy.html.en
I replaced the robocopy command in my old robocopy/vshadow script with these two commands in order to make a copy of my unusual hard drive layout. B is my shadow volume of C and K is the destination drive:
https://pastebin.com/svVEmgqv
The first line copies the root of C excluding, on top of the usual temporary Windows system directories you should exclude, C:\RAID0 which is my mountpoint for the RAID0 array.
The second line then copies that RAID0 array to a folder I've manually created on the destination drive, of the same name as the mountpoint. This is just a storage drive which doesn't include symlinks like the C drive of a standard Windows install does, so it's set not to copy symlinks, only their destinations if it runs across one (which it never should). I suppose that doesn't really make a difference either way.
If you decide to develop your own, don't use the /no_ui flag until you've got everything working properly. This disables all live output and controls - with /no_ui, the program's running deaf and dumb to the user apart from the log files and the ability to close the process. The alternative is basically passing configuration options to a conventional GUI program.
On that note, one new downside is that I'd now need a full running Windows install to perform my bare-metal restore. Robocopy could run from the recovery console. I could boot from the backup drive by adding a bootloader to it, although for recent Windows versions that requires a particular partition layout. It's not like slapping GRUB2 on any ol' drive.
Some things to watch out for: Handling any kind of symlink with any of Windows' built-in tools is a minefield, these tools are beta quality at best. The file browser properties window reports incorrect link destination paths. dir reports the correct destination path. Deleting a directory symlink with del automatically deletes the entire contents of the linked directory. In powershell, rmdir does the same by default with one confirmation prompt. Only rmdir in the old cmd terminal deletes directory symlinks safely.
I use xcopy and a batch file to execute it with the switches I want. Works great.