How does the new differential backup method work exactly? #239
-
|
I'm actually quite happy to see this implemented in 1.2.8. I thought it would be "too much" for a savegame backup tool, otherwise I would have suggested it a long time ago (yeah, about 3000 Skyrim savefiles force you to either that or backing them up otherwise). My question is... how is the inner working of this? The documentation mentions "faster and smaller backups" and while the second one is clear, I need a few bits of information about the "faster"-part. Does GBM check what it already has backuped in the full backup and earlier differential backups before making the new differential backup every time? If not, how does it determine what to backup? If yes, how did you manage to make it faster? Does it read the files of the full backup (which probably would require more time) or do you store the data it in meta files or the database? If it reads that stuff from the database, does it store a hash or just a filename (which could bring issues with overwritten, newer files)? And... if I change a game profile to use differential backups, but my backups are created with a version < 1.2.8 and therefor doesn't have the "- Full" appendix, does GBM at the next run create a new full backup with the new name or does it just rename the file and creates the first differential backup? Or is it better to restore everything GBM has backuped in the past, delete all the old backup archives and run a full backup for once? Yeah, sorry about the questions, but since my backups are hosted on my Onedrive, I would favor to not screw things up by trying everything out myself and then have 10 GB of data to be synced without any need :) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
|
I'll try to answer these questions. 😄
The logic around creating the differential backups is entirely handled by 7-Zip. All GBM does is build the proper command to get it done. You can take a look here for the details of building such a command. 7z makes a diff archive, by comparing the saved game folder to the existing full backup archive each time based on the switches you provided in the command. It doesn't compare to the other differentials, that would make an "incremental" backup method.
I only mentioned it can be faster than normal backups because it won't need to back up the entire folder again after every single session.
If you enable "Differential backup" on a configuration with existing normal backups, it will make a new "full" backup with a new name and just proceed with differentials from there without touching the old backups. However, you might run into issues if you turn the setting off and on continuously in combination with changing the "Save Multiple Backups" and "Backup Limit" settings. I did test cases around that and it seemed to behave correctly, but it's just asking for trouble.
This may be the safest thing to do. But I wouldn't bother turning on the Differential backup setting and making new backups unless it's for a game you're actively playing and a game that you know for a fact will benefit from using differential backups. Skyrim with 3000 saved games would be a perfect candidate though. |
Beta Was this translation helpful? Give feedback.
-
|
Ah, so you let 7Zip itself handle all the comparison and that stuff. Smart... Well, I guess that answers all of my questions. Thank you :) And yeah, I only plan to use that method with games which have a high count of savegames. For me, that would be mainly the Bethesda Game Studios games (Fallout 3, Fallout 4, TES 3-5), Kingdome Come: Deliverance, The Witcher and so on. But in these cases it will be really useful for sure :) |
Beta Was this translation helpful? Give feedback.
I'll try to answer these questions. 😄
Inner WorkingsThe logic around creating the differential backups is entirely handled by 7-Zip. All GBM does is build the proper command to get it done. You can take a look here for the details of building such a command. 7z makes a diff archive, by comparing the saved game folder to the existing full backup archive each time based on the switches you provided in the command. It doesn't compare to the other differentials, that would make an "incremental" backup method.
Why is it faster?I only mentioned it can be faster than normal backups because it won't need to back up the entire folder again after every single session.
What happens when I enable "…