Hi there!
I’m currently evaluating the use of restic for backup tasks on our Windows (IIS) server.
First, a bit of context:
We have a custom tool that performs backups of individual IIS websites and their corresponding databases in sequence to keep site downtime to a minimum. The tool in question stops each site, backs it up (copies the site files and its closed database files in a coherent state), then brings it back up and proceeds to the next site.
The copy itself is currently performed by robocopy but it is quite slow. I have run a couple of tests with restic and I’m seeing much better performance with it compared to a robocopy mirror operation (8 minutes for the initial backup of our worst-case site, then 2 for “incremental” backups, compared to ~ about 1h30m for the initial robocopy and worse than restic for the incremental backups).
So in essence, restic is working perfectly. However from what I’ve gathered, when it comes to restoring our files, having each site backed up in a separate snapshot makes restoring all of our sites at once more complicated.
I’ve read the restic restore
documentation and tried various commands (using --path
and dump
, among others) but didn’t find a way to restore files from multiple snapshots at once.
Given multiple snapshots containing different sites:
ID Paths
d98048c7 C:\Sites\SiteA
d49b19b8 C:\Sites\SiteB
7837f7b7 C:\Sites\SiteC
Would it be possible to restore all of C:\Sites
in a single operation, without having to manually find the path of all websites and/or their corresponding snapshot IDs? Is this a valid way to use restic, or does storing individual “things” in separate snapshots not fit with how restic handles (for example) forgetting snapshots, restoration and such operations?
Keep in mind that our server runs Windows and using restic mount
is not an option. And by curiosity, if restic mount
was an option (for example on a Linux server), would that cover restoring the latest version of each path in a single operation?
Thanks in advance for any help!