I had backups for years. What I did not have, it turned out, was a single occasion on which I'd ever restored one. The cron job ran, restic reported success, the repository grew, and I felt safe. That feeling was doing a lot of unearned work.
The reckoning came when a volume on the NAS went sideways and I reached for the backups with genuine confidence. The snapshots were all there. The restore also worked, but only after I discovered that one of the things I cared most about, a Postgres database, had been backed up as a live file copy rather than a proper dump, which is a polite way of saying it was rubbish. A consistent-looking pile of bytes that the database refused to open.
So now I test. Once a month a scheduled job picks a random snapshot, restores it to a scratch directory, and for the database it actually spins up a throwaway Postgres container and runs the dump back in. If the restore fails, or the database won't start, I get an alert. It is not clever and it takes about four minutes.
The shift in my head is the bit that mattered. A backup isn't the copy, it's the restore. Everything before the restore is just hopeful filing. I should have known that a decade ago, and probably did, in the way you know things you never act on.