1

I feel embarrassed to ask this as I've spent my whole career lecturing in software engineering and computing. Maybe I'm going senile after retiring but I can't get my head around this question and would appreciate some clarity.

I use my PC for some pretty critical database programming work for an organisation and cannot afford to lose anything. Each night I do both a full image backup of my 1Tb SSD drive to an external drive and then do a file and folder backup of really important bits as a belt and braces duplicate.

Recently the backup failed for several nights as the SSD was reporting bad blocks as well as a MFT issue. I couldn't restore from the last successful image as that was too long ago so I did a clone copy to an identical SSD and swapped the discs which worked fine except that the new disc had faithfully copied over some of the file errors as well. I fixed the records on the new disc (chkdsk and sfc /scannow report no errors) and now I have a nightly full image backup going to an external HDD and, as an experiment, a nightly clone going to a duplicate SSD so that I can swap the SSDs in the event of problems.

Question If tomorrow I find that my SSD has file errors again then so will my clone and so will my image, so how can I get my work from yesterday back?

5
  • It is not clear for me if you talk about programs,code. Or you talk about database? Are you ready to spend some amount of money and migrate the files in cloud? Commented Dec 21, 2022 at 18:14
  • GIGO -- If you've saved errors in the image, then the only alternative is to revert to an earlier image that does not have them. It might be possible to mount the older valid one, and transfer just the files with errors on the new disk, making a melange of old and new, if that is acceptable. That said, do you verify each image? Yes, that takes twice as long, but provides an extra belt for the suspenders. Commented Dec 21, 2022 at 18:16
  • @Romeo The programming on the PC is on the coding required for development of the front end to a database held on a remote server. I also have a test copy of the database running on the PC under a XAMPP server, but that's not so critical as I also have two other redundant duplicates on different remote servers that I use for inline test work. Commented Dec 21, 2022 at 18:43
  • @ GIGO Yes,of course all the backups are verified. I can be assured they are readable and a faithful copy - including the file errors (:-( Commented Dec 21, 2022 at 18:44
  • The simple answer is "you can't", if you are doing a full disk image, you are going to copy the entire disk, which will include file errors. Some might argue, that a RAID file system, could prevent a single disk from causing file corruption. However, there are tradeoffs to booting to a RAID volume.
    – Ramhound
    Commented Dec 21, 2022 at 19:24

2 Answers 2

1

You have no redundancy & no history.
You don't have all your eggs in one basket, quite, but you do have them in only two, one of which is looking pretty suspect right now.
You're also making a whole lot of extra work by cloning the whole lot every day, whether it changed or not. You only need to copy changed data, until you're out of space, then recycle. If nothing else, this will shorten your drive's life.

You need a backup with history & you need more than one copy of it, preferably three. The adage is, "Any data stored in fewer than three distinct locations ought to be considered temporary."

Imaging being hit with ransomeware - you need to be able to go back in time to the last backup before that happened & be able to ignore anything from later in the timeline so there is no chance of re-infection.
These days I would consider bare minimum to be one on-site & one off-site. Both should have history, so if something goes wrong with one backup, you still have the other.

I wouldn't try to script this myself. I would look to backup software & services that can look after it for you. Most of these will have warning structures for if a schedule was missed - & why.

Ideally two drives to back up to - let the software rotate them & preserve history. Then an online backup too, again with history. Some software backup apps also come with an online data space too.

Any of these backup solutions should allow you to pick & choose from various times/dates exactly which files you need back in 'the present'. There's no real way to recover the one that was corrupt, but the idea is you never have to go back too far to find a usable version. At any date/time, they should also be able to hand you a fully-restorable version of the machine at that moment in time, for total disaster recovery.

Look up "321 backup strategy" for some variations on this theme.

BTW, once a day is not frequent enough for critical data. Mine runs once an hour in-house, once a day off-site. Local history preserves every hour for a day, every day for a week & every week until the drive is full, then recycles the oldest data. My online service preserves every day for a year.

7
  • I retain 12 daily backups, deleting the oldest once the large external drive gets too full. I also back up to two different external drives, ie I have 2 separate image and file/folder backups taken every night. I also back up to the cloud, although I've never restored from there. Your point about frequency is good. I used to use OOPs backup, backing up changes every 15 minutes and that was extremely useful for recovering bits of code when a function I'd altered failed to work as intended. Unfortunately OOPs backup no longer works or is supported and I can't find something similar. Commented Dec 21, 2022 at 18:52
  • I decided against grandfather/father/son backups and using incremental or differential as it being too much hassle to restore. Given that I have enough space for 12 images, each of which I can mount as a virtual drive, that seemed better. The backup from SSD is fast, taking only a couple of hours at 2 am to backup and verify. It looks like you are suggesting what I thought. It can't be done. I'll just have to keep a close eye on the logs so I on'y have to rewrite a little bit of code. Commented Dec 21, 2022 at 18:54
  • Hmm.. OK. I use actual Time machine here for my local incrementals, rather than the Windows Oops 'copy', Backblaze for offsite. Neither require any intervention once up & running. I don't have Windows here at all any more, but I used to use Acronis for them, which I found reasonably useful if not as hands-off to maintain. I'd still go for some solution that doesn't involve hammering the backup drives quite so hard. I'd also go for something not physically connected to the computer & sitting on another OS, so something like ransomeware can't work on them even if you pass infection to them.
    – Tetsujin
    Commented Dec 21, 2022 at 19:07
  • I can no longer suggest Acronis due to their subscription only model. There are similar better alternatives to Acronis.
    – Ramhound
    Commented Dec 21, 2022 at 19:22
  • @Ramhound - I haven't used it in 5 years, so I'm not current on policies/payment structures.
    – Tetsujin
    Commented Dec 21, 2022 at 19:30
1

I'll answer my own question as all the individual the comments have been most useful and, taken all together, have clarified my situation which is what my original question asked.

The answer is that if my backup software is happy to copy over file errors to a backup set there is no way I can ensure a clean backup. I have to periodically test my SSD to ensure there are no errors.

If my backup won't copy errors but instead will fail to do a backup (probably the better situation) then I need to carefully monitor the logs so I can detect a failure within a short time of a failure. Macrium Reflect can email the logs each time so that will do it.

Setting up a schedule of monthly full, daily differential and incremental every 15 minutes should ensure I don't lose more than 15 minutes work if I ever get a failure email (I can make email rules in my inbox to manage the emails and stop clutter)

I shall continue to send my backups to several different external locations as well as to the cloud so that I have security in the event of one of them failing.

Thanks to all who contributed ideas

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .