The windows thing is a function of having different operating system versions.. on Vista at least it goes into this Roaming directory, because they reorganized it and wxWidgets is just using the OS standard place. There is a -datadir option you can use to keep it on the desktop or whatever. I believe if you use the token %APPDATA% in your script, or $APPDATA if you're using cygwin/msys, then you will always have the right place regardless of XP/Vista.
So something simple like a scheduled task on windows or a cron job on another system like Mac OS or a BSD/Linux distro..
Windows batch file style with another windows machine as a file share, going from the bitcoin host to a file share:
SET DTS=%DATE:~4%
SET DTS=%DTS:/=_%
SET DTS=%DTS%-%TIME::=.%
xcopy /E "%APPDATA%\Bitcoin" "\\myserver\backup\Bitcoin-%DTS%"
Shell script style, still initiated from the bitcoin machine - set up public key auth so no password is needed first
DATE="/bin/date"
DATESTR="$(${DATE} +%Y-%m-%d-%H%M)"
scp -r "$APPDATA/Bitcoin" "user@host:backup/Bitcoin-${DATESTR}"