On a Unix system, you could roll your own Bash script for doing this. You could use rsync to backup any and all changes in one or more directories to an external drive, or to an external machine (if you have SSH connectivity).
You could also do this in Windows, by installing Cygwin and making sure you include rsync (it may be part of the default Cygwin, but I'm not sure). Your script could do a loop, sleeping for one minute between backups. You could also have the script just do a single backup and schedule it via cron (in Unix systems at least) once per minute. To backup up directory /foo/bar
from your localhost to /backups/mymachine/foo/bar
in a remote host, you could do:
$ rsync -zave ssh /foo/bar/ remotehost:/backups/mymachine/foo/bar