I back up our mysql db hourly with mysqldump, on 24 hour x 7day
with rsync I do it on all servers regardless of how many users they
have, we also do it on a rolling 7 day basis
Another way, not necessarily better, but if you can do it, it is better,
is to use MySQL replication as then it is real time backed up all the time.
Pretty simple, you can expend on this greatly like I do in my main
scripts by using logging, timeouts and alarms
but starting point would be:
Theres probably better ways of doing it, but this way has worked for
me for years.