There's several ways to do it. 1) If you now for sure your server isn't actually doing anything you can just make copies of the binary data files 2)You can lock & flush the tables then SELECT INTO ... OUTFILE or 3) use the mysqldump utility, or 4) Use the mysqlhotcopy Perl script. To make it automatic, set it up as a cron job (if you're on Unix)
Simply create a script which will use mysqldump to take backup. And run this script on regular intervals to take backup. Also look at this tutorial.
If your on a linux server then take a look at this link. I use this script to back up my MySQL databases, you basically just fill in the variables and then set the script up to run as a cron job at regular intervals. It's very easy to implement, though it helps if you know your way around a linux server.