To Old Danny, greetings:

The year ends, the North pole tips its deepest bow to the darkness, and we see even large language models have been taking it easy for the winter1. But for the faithful maintainer of systems, there’s still work to be done, here in the cooling embers of the year.

Now is a fine time to dust off your backup scripts and see if they’re working as they should. An untested backup is no backup at all, said the wise elders of the Scary Devil Monastery 2, and if we want to set the new year off to its best start, we should ensure we can pause, tear-down, and re-start the marching present even at its lowest points.

When examining my backup and restore process, I took the opportunity this year to test my backups and increase the size of my root partition on my server.

One last manual backup of the 256GiB SSD in my trusty server `boat` for the sake of the old, and then an attempted restore for the sake of the new: to a spare machine, `tub`, temporarily hosting a new, 1TiB SSD. If all goes well, the restored backup in tub would have new room to grow, and I could swap that drive into `boat` with minimal downtime.

That moment of hardware-swapping would mean that `boat` would have to be shutdown and then restarted anew. Humans need their respite over the holiday break: but should I have granted my server the same indulgence? My plan accepted that `boat` would be offline for, I hoped, a small slice of time.

There are more convoluted ways to ensure that none of my websites, file syncing, and miscellaneous tools did not flicker, even for a moment. I could have switched my DNS settings to the fresh clean `tub`, for instance, while overwriting `boat`. Or perhaps just repurposed `boat` for gentler, less demanding tasks, giving it the end-of-year gift of a well-deserved retirement, and switched to `tub` a new year’s responsibility of my hosting my main home processes.

At the scale of my own life, I do believe that uptime is overrated. We are surrounded by tools bent into the shapes demanded by large tech companies, for whom site reliability is their first commandment.

But we are humans, not corporations. We run at our own pace. If Homer nods, so can my home lab. Christmas has its own folklore of visitors rebuffed, but hopefully my friends have other things to do at this time than hit reload on my websites.

Yes, a personal webserver can go down for a few moments – as long as it bobs back up.

Which, with restored filing systems, is ever the question. Will the backup truly come back up? A reset and rebooted may also be a time for final exhaustion and death. Morbidly, we note that human deaths seem positively correlated with the change of pace of the holidays3, just as drives and computers will dutifully run for years, but expire after a moment’s rest.

I use “Relax-And-Recover” (REAR), a Linux disaster recovery system from when sysadmins wrote shell code and /liked it/. REAR is a sprawling set of shell scripts that runs your choice of backup code – from `[rsync](https://jumpcloud.com/blog/how-to-backup-linux-system-rsync)` to `[borg](https://borgbackup.readthedocs.io/)` – over your entire linux root, on a regular, cron-determined, basis. Having seen to that prosaic task, it will also create minimal, bootable blob. The blob, stuffed onto an USB drive, CD-ROM, or networked drive, will boot into a minimal Linux, and lead you through the reconstruction and re-partitioning of a drive that will emerge the same shape as your original machine. Then it will pull down your backups, and restore this drive to the precise state that your backups recalled it. A perfect, royal, restoration.

Readers born into our age of strong types and weak stomachs may be balking at the idea of entrusting their restoration to a bunch of stringly-typed Bash scripts. REAR’s 20K(!) lines of shellcode intimate that it has reached the edges of complexity beyond that you might think bashism can bear.

But this is sysadmin shell code. That terrifying KLOC is defensive, modular coding of the highest order. For the casual shell user, REAR’s operation is comprehensible, its failure modes anticipated and loudly-announced, and tweaks and mediations are semi-obvious. REAR’s authors emphasise “a relaxing recovery”, and ghosts of sysadminning past do not lightly emphasise relaxation.

While I was never /not/ relaxed during my holiday restoration. I did occasionally carol a high-pitched note or two of concern.

Two snowbanks stood between me and a perfectly clean restore. Since I first installed it, I have had REAR create ISO files for burning onto a CD-ROM that I could restore from. CD must now stand for “Cretaceous Disk”: I have not used those in anger for over a decade. Converting a bootable ISO into a bootable USB drive drive turns out to be surprisingly tricky, and I can never remember how to do it. In the end I was forced, humiliatingly, to read REAR’s FAQ, where they recommended a heavy utility, UnetBootin, for achieving this. In the future, I’ve set REAR to output those bootable blobs as RAWDISK, which can be burned (warmed?) onto a USB.

REAR’s ecumenical acceptance of multiple backup programs can introduce additional complexity into its scripts. My use of borg backup tripped up the restore. REAR scans executables that it plans to include on its rescue bootable blob to detect what libraries they require, so that it may copy those over. Sadly, the borg executable can be either a binary executable (for which this works), or just a Python script, whose demands REAR cannot fathom. This is undoubtedly a bug a future REAR will fix, but in the meantime I just copied over the binary borg into `/usr/local/bin` and used that instead of the Pythonic borg of the Debian repos.

After those tweaks, `tub` was filled with the form of `boat`’s Christmas past. I swapped over the two drives, holding my breath, and losing the little M.2 SSD screw as always (these plastic nubbin replacements tempted me in the fallout, though apparently a pencil sharpener will work in a pinch). `Boat` wobbled and then, like a lucky North Sea seafarer, bobbed back up from an early visit to “Fiddler’s Green”.

Testing your recovery plans during your own end-of-year downtime gives you a moment to look back at the record of what has been, and prepare for the ups and downs of the coming year. What will be the same? What will change? What parts of your life can you simply hard link to the habits of the past? And what will you have to incrementally add and integrate into your ever-evolving life?

Until next time, I am relaxed and restored,

~Integrity Mather

1. Are the rumors of an AI Winter true? Do LLMs get lazier during December? Ian Arawjo, author of ChainForge, spotted flaws in Rob Lynch’s significant result that GPT-4-Turbo produces fewer tokens when December is mentioned in its prompt, but https://twitter.com/messages/54913-1586500784514113536 is continuing to investigate at press time. See our earlier memo on the phenomenon, “The True Meaning of Wintermute: Northern Hemisphere Seasonability in Tessier-Ashpool AIs”, Automatic Jack, Almnck. 1981.↩︎

2. Alt.sysadmin.recovery’s monastic wisdom, is only dimly remembered now that posting to Usenet and painting your nails black are no longer professional requirements for ops. The newsgroup provided several powerful and vile proverbs on the importance of backups, the foulest of which remain unrecorded in Heather Garvey’s extant quotes file. Garvey’s document was, you may note, updated mere hours before Y2K day. This lends some credence to the the theory that an eldritch rite committed by the Monks on that day led to the key events in the subsequent Rupture of the Nerds, including the abandonment of Usenet, ASR regulars Kirrily “Skud” Roberts’ co-founding of the Geek Feminism movement, and Charlie Stross being press-ganged into leaving system administraiton by mysterious backers in the Humanities Industrial Complex to become a prominent science fiction author. Thereafter, following the success of Accelerando, he was reputed to have been clumsily digitized into an AI corporate entity, programmed to deny that corporations could ever be people (and vice-versa) until the West Lothian and Turing police backed away. See, “Saint Charles of Stross: A Prohairetic Hagiography”, G. Vittoria, Almnck. 2006.↩︎

3. Most recently – but not that recently – examined in Phillips, D. P., Jarvinen, J. R., Abramson, I., & Phillips, R. R. (2004). Cardiac Mortality Is Higher Around Christmas and New Year’s Than at Any Other Time. Circulation, 110(25), 3781–3788. https://doi.org/10.1161/01.cir.0000151424.02045.f7.

   Later studies suggest that people don’t get any crazier or suicidal at Christmas (See Schneider, E., Liwinski, T., Imfeld, L., Lang, U. E., & Brühl, A. B. (2023). Who is afraid of Christmas? The effect of Christmas and Easter holidays on psychiatric hospitalizations and emergencies—Systematic review and single center experience from 2012 to 2021. Frontiers in Psychiatry, 13. https://doi.org/10.3389/fpsyt.2022.1049935 ), and it may just be the same effect as more people dying in the medical system during weekends, See Castaño-Pérez, S., Medina García, J.A. & Cabrera de León, A. The dose–response effect of time between emergency admission and inpatient care on mortality. Sci Rep 13, 22244 (2023). https://doi.org/10.1038/s41598-023-49090-5 .

   For explorations of the theory that excess Winter deaths are caused by high-energy particle emissions from near-lightspeed Western gift-deliverers, see “Bremstrahlung und Blitzen!: Incidence Rates of Thyroid Cancer among Naughty, Nice, and Non-Believers”, Almnck. 1823.↩︎