Here is my backup script that runs every night.
#!/bin/bash
# bash script to backup website
BACKUP_LOG=/home/mike/mysql/website.log
date +"%Y-%m-%d %X" > $BACKUP_LOG
# bash script to backup mysql
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_BACKUP_DIR=/home/mike/mysql
# backup mysql databases
/usr/bin/mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD --all-databases --lock-all-tables --flush-logs --master-data=2 | bzip2 -c > $MYSQL_BACKUP_DIR/all-$(date -I).sql.bz2
# backup file system
rsync -avh --progress --delete /etc/postfix /srv/www /home/mike/mysql kyrunner@192.168.1.1:/Users/kyrunner/backup
# remove old MySQL database backups
find $MYSQL_BACKUP_DIR -maxdepth 1 -type f -name *.sql.bz2 -mtime +30 -exec rm -Rf {} \;
date +"%Y-%m-%d %X" > $BACKUP_LOG
# send email
mailx -s "Micro: website log"
testgamil@gmail.com < $BACKUP_LOG