This Space for Rent

Scary scary rsync

A few years ago at work, I sped up the tediously long process of doing a full system build by replacing a 1.2gb nfs copy with rsync, which had the expected result of cutting down the copy time from about 75 minutes down to 10 minutes (it could be faster, but the network at work is perpetually congested and each rsync takes about 5 seconds to initialize the connection before zooming along.) This was nice in that it sped a system build up to the point where I could do repeated builds of our distribution during a day (3 hours is too long, 70 minutes is still too long, but it's enough less too long so I can actually go back and fix something that let the smoke out the first time.)

My cow orkers were impressed. But did they start using rsync? No, they did not. One of them built a spiffy little copy-via-nfs script that pulls things over the wire at a very very slow speed, but didn't bother to do the three lines worth of change to convert that slothful nfs copy with a somewhat less slothful rsync. And why weren't they using rsync? Because it was (and this is a company that enthusiastically leaps onto passing trainwrecks like PHP, C#, relational databases (for storing tiny accounting files that had happily lived in btree databases for the past 35 years), p*rl, p*th*n, and the like) new, untested, and dangerous.


So, every night a whole bunch of system builds kick off. In the first 5 hours, I build three different Linux distributions, and in the next 7 hours a half dozen small software packages are built, each separated by 45 minutes in case one of the nfs mounts goes to hell.

And it's a three line change to one copy-me-now script.

Kill me now.