If you don't feel like buying or installing a battery, take the easy way out and just set up a cron job to poll an NTP server every 15 minutes or so. It won't be exact, but it will be close enough. Better yet, set up an NTP server on your own network and poll from it, then you could poll at even shorter intervals and not worry about annoying anyone.
You should probably try to see if this is hardware or software related. Set the time from the BIOS, leave it for a few hours without booting into an OS, and see if it's still losing time. I'm assuming your time loss is occurring while the machine is turned on right?
I was always under the impression that when a machine was turned on, it was no longer relying on the CMOS battery for time settings. Older machines I've dealt with over the years usually kept time fine as long as they were always powered on.