Back in the day (8086) my idle loop would start at timer (2 sec) and if it expired without exiting idle, it would flush file system buffers. So if you powered off without shutting down, the file system(s) would be consistent.
Also every couple of seconds it would 'wash' an ECC memory page. So the machine wouldn't accumulate single-bit errors over weeks of uptime. The hardware didn't do that for you back then.
After putting that stuff in, our incidence of corrupt file systems went way down!