#!/bin/sh # Script name : backup.sh # Backup database and files DATE=`date +%Y-%m-%d_%s` BACKUP_TO_DIR='/backup' BACKUP_FROM_DIR='/home/www' SERVER_NAME='server_name' KEEP_DAYS=7 BACKUP_DIR_NAME=$SERVER_NAME.backup SQL_USER=user SQL_PASSWORD=password cd $BACKUP_TO_DIR if [ ! -d $BACKUP_DIR_NAME ]; then mkdir $BACKUP_DIR_NAME fi cd $BACKUP_FROM_DIR /usr/bin/mysqldump -Q -q -p$SQL_PASSWORD -u$SQL_USER -hlocalhost --all-databases > sql_$DATE.sql if [ $?=0 ]; then tar czf backup_$DATE.tar.gz * rm -f sql_$DATE.sql mv backup_$DATE.tar.gz $BACKUP_TO_DIR/$BACKUP_DIR_NAME fi for del in $(find $BACKUP_TO_DIR/$BACKUP_DIR_NAME -name '*.tar.gz' -mtime +$KEEP_DAYS) do rm $del done