Backup.sh
#!/bin/bash
# root backup directory
BACKUP_DIR="/var/backup"
# get current day in ISO format like "2015-02-23"
TODAY="${BACKUP_DIR}/`date "+%Y-%m-%d"`"
# create backup directory for today
if [ -d "${TODAY}" ]; then
rm -rf "${TODAY}"
fi
# create directory for today
mkdir -p "${TODAY}"
echo "######################"
echo "####### MySQL ########"
echo "######################"
# configuration
MYSQL_BACKUP_FILE="${TODAY}/mysql.sql.bz2"
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWD=dfew4rSZD#s1
echo "MySQL backup started at: `date "+%Y-%m-%d %H:%M:%S"`"
# backup and compress
mysqldump \
--host=${MYSQL_HOST} \
--port=${MYSQL_PORT} \
--user=${MYSQL_USER} \
--password=${MYSQL_PASSWD} \
--all-databases \
--events \
| bzip2 -cz9 > "${MYSQL_BACKUP_FILE}"
echo "MySQL backup finished at: `date "+%Y-%m-%d %H:%M:%S"`"
echo "#######################"
echo "###### Wordpress ######"
echo "#######################"
# configuration
WORDPRESS_BACKUP_PLUGIN="${TODAY}/wordpress-plugins.tar.bz2"
WORDPRESS_BACKUP_THEME="${TODAY}/wordpress-themes.tar.bz2"
echo "Wordpress backup started at: `date "+%Y-%m-%d %H:%M:%S"`"
# back up and compress
tar --create --bzip2 --absolute-names --file "${WORDPRESS_BACKUP_PLUGIN}" "/usr/share/nginx/html/news/wp-content/plugins/"
tar --create --bzip2 --absolute-names --file "${WORDPRESS_BACKUP_THEME}" "/usr/share/nginx/html/news/wp-content/themes/"
echo "Wordpress backup finished at: `date "+%Y-%m-%d %H:%M:%S"`"
echo "###############################################"