Browse Source

site backup and mysql site update code

bugfixes
harshadyeola 11 years ago
parent
commit
7913f07e50
  1. 16
      bin/easyengine
  2. 25
      src/modules/site/ee_mod_site_backup.sh
  3. 7
      src/modules/site/update/ee_mod_update_domain.sh

16
bin/easyengine

@ -614,6 +614,10 @@ elif [ "$EE_FIRST" = "site" ]; then
# Lets update HTML|PHP|MySQL website # Lets update HTML|PHP|MySQL website
if [ "$EE_SITE_CURRENT_OPTION" = "HTML" ] || [ "$EE_SITE_CURRENT_OPTION" = "PHP" ] || [ "$EE_SITE_CURRENT_OPTION" = "MYSQL" ]; then if [ "$EE_SITE_CURRENT_OPTION" = "HTML" ] || [ "$EE_SITE_CURRENT_OPTION" = "PHP" ] || [ "$EE_SITE_CURRENT_OPTION" = "MYSQL" ]; then
# Git commit
ee_lib_git /etc/nginx/ "Before $EE_DOMAIN updated with $EE_SITE_CREATE_OPTION $EE_SITE_CACHE_OPTION options"
ee_mod_site_backup
# Update NGINX configuration for $EE_DOMAIN # Update NGINX configuration for $EE_DOMAIN
if [[ "$EE_SITE_CREATE_OPTION" = "--php" && "$EE_SITE_CURRENT_OPTION" != "PHP" ]] || [[ "$EE_SITE_CREATE_OPTION" = "--mysql" && "$EE_SITE_CURRENT_OPTION" != "MYSQL" ]] \ if [[ "$EE_SITE_CREATE_OPTION" = "--php" && "$EE_SITE_CURRENT_OPTION" != "PHP" ]] || [[ "$EE_SITE_CREATE_OPTION" = "--mysql" && "$EE_SITE_CURRENT_OPTION" != "MYSQL" ]] \
|| [ "$EE_SITE_CREATE_OPTION" = "--wp" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ]; then || [ "$EE_SITE_CREATE_OPTION" = "--wp" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ]; then
@ -622,6 +626,9 @@ elif [ "$EE_FIRST" = "site" ]; then
# Setup WordPress # Setup WordPress
if [ "$EE_SITE_CREATE_OPTION" = "--wp" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ]; then if [ "$EE_SITE_CREATE_OPTION" = "--wp" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ]; then
if [ "$EE_SITE_CURRENT_OPTION" = "MYSQL" ]; then
EE_DB_NAME=$(grep DB_NAME $(grep root /etc/nginx/sites-available/$EE_DOMAIN | awk '{ print $2 }' | sed 's/;//g' | sed 's/htdocs/*-config.php/' 2> /dev/null) | cut -d"'" -f4)
fi
ee_mod_setup_wordpress ee_mod_setup_wordpress
fi fi
@ -655,6 +662,7 @@ elif [ "$EE_FIRST" = "site" ]; then
echo echo
fi fi
# Lets update WprdPress Single sites
elif [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE BASIC" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE W3 TOTAL CACHE" ] \ elif [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE BASIC" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE W3 TOTAL CACHE" ] \
|| [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE FAST CGI" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE WP SUPER CACHE" ]; then || [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE FAST CGI" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSINGLE WP SUPER CACHE" ]; then
@ -666,7 +674,7 @@ elif [ "$EE_FIRST" = "site" ]; then
# Update NGINX configuration for $EE_DOMAIN # Update NGINX configuration for $EE_DOMAIN
ee_mod_update_domain ee_mod_update_domain
else else
ee_lib_error "Site already, $EE_SITE_CREATE_OPTION $EE_SITE_CACHE_OPTION, exit status =" $? ee_lib_error "Website already with $EE_SITE_CREATE_OPTION, $EE_SITE_CACHE_OPTION, exit status" $?
fi fi
# Setup WordPress Network # Setup WordPress Network
if [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ]; then if [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ] || [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ]; then
@ -675,6 +683,7 @@ elif [ "$EE_FIRST" = "site" ]; then
# Update cache plugins # Update cache plugins
ee_mod_update_plugins ee_mod_update_plugins
# Lets update WprdPress multi sites with subdirectory
elif [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR BASIC" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR W3 TOTAL CACHE" ] \ elif [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR BASIC" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR W3 TOTAL CACHE" ] \
|| [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR FAST CGI" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR WP SUPER CACHE" ] && [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ]; then || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR FAST CGI" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDIR WP SUPER CACHE" ] && [ "$EE_SITE_CREATE_OPTION" = "--wpsubdir" ]; then
if [[ "$EE_SITE_CACHE_OPTION" = "--basic" && "$EE_SITE_CURRENT_OPTION" != "WPSUBDIR BASIC" ]] \ if [[ "$EE_SITE_CACHE_OPTION" = "--basic" && "$EE_SITE_CURRENT_OPTION" != "WPSUBDIR BASIC" ]] \
@ -684,11 +693,12 @@ elif [ "$EE_FIRST" = "site" ]; then
# Update NGINX configuration for $EE_DOMAIN # Update NGINX configuration for $EE_DOMAIN
ee_mod_update_domain ee_mod_update_domain
else else
ee_lib_error "Site already, $EE_SITE_CREATE_OPTION $EE_SITE_CACHE_OPTION, exit status =" $? ee_lib_error "Website already with $EE_SITE_CREATE_OPTION, $EE_SITE_CACHE_OPTION, exit status" $?
fi fi
# Update cache plugins # Update cache plugins
ee_mod_update_plugins ee_mod_update_plugins
# Lets update WprdPress multi sites with subdomain
elif [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN BASIC" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN W3 TOTAL CACHE" ] \ elif [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN BASIC" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN W3 TOTAL CACHE" ] \
|| [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN FAST CGI" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN WP SUPER CACHE" ] && [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ]; then || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN FAST CGI" ] || [ "$EE_SITE_CURRENT_OPTION" = "WPSUBDOMAIN WP SUPER CACHE" ] && [ "$EE_SITE_CREATE_OPTION" = "--wpsubdomain" ]; then
if [[ "$EE_SITE_CACHE_OPTION" = "--basic" && "$EE_SITE_CURRENT_OPTION" != "WPSUBDOMAIN BASIC" ]] \ if [[ "$EE_SITE_CACHE_OPTION" = "--basic" && "$EE_SITE_CURRENT_OPTION" != "WPSUBDOMAIN BASIC" ]] \
@ -698,7 +708,7 @@ elif [ "$EE_FIRST" = "site" ]; then
# Update NGINX configuration for $EE_DOMAIN # Update NGINX configuration for $EE_DOMAIN
ee_mod_update_domain ee_mod_update_domain
else else
ee_lib_error "Site already, $EE_SITE_CREATE_OPTION $EE_SITE_CACHE_OPTION, exit status =" $? ee_lib_error "Website already with $EE_SITE_CREATE_OPTION, $EE_SITE_CACHE_OPTION, exit status" $?
fi fi
# Update cache plugins # Update cache plugins
ee_mod_update_plugins ee_mod_update_plugins

25
src/modules/site/ee_mod_site_backup.sh

@ -0,0 +1,25 @@
# Backup NGINX configuration & Database & Webroot
function ee_mod_site_backup()
{
# Backup directory setup
local ee_webroot=$(grep root /etc/nginx/sites-available/$EE_DOMAIN | awk '{ print $2 }' | sed 's/;//g' | sed 's/\/htdocs//')
if [ ! -d $ee_webroot/backup ] || [ ! -d $ee_webroot/backup/htdocs ] || [ ! -d $ee_webroot/backup/nginx ] || [ ! -d $ee_webroot/backup/db ] ; then
mkdir -p $ee_webroot/backup/{htdocs,nginx,db} || ee_lib_error "Unable to create $ee_webroot/backup directory, exit status =" $?
fi
# Move htdocs
if [ "$EE_SITE_CURRENT_OPTION" = "HTML"] || [ "$EE_SITE_CURRENT_OPTION" = "MYSQL"] || [ "$EE_SITE_CURRENT_OPTION" = "PHP"]; then
mv $ee_webroot/htdocs $ee_webroot/backup/htdocs/htdocs-$(date +"%m-%d-%y")
mkdir -p $ee_webroot/htdocs
fi
# Backup $EE_DOMAIN NGINX configuration
cp -av /etc/nginx/sites-available/$EE_DOMAIN $ee_webroot/backup/nginx/${EE_DOMAIN}-$(date +"%m-%d-%y").conf.bak
# Database backup
if [ -f $(grep root /etc/nginx/sites-available/$EE_DOMAIN | awk '{ print $2 }' | sed 's/;//g' | sed 's/htdocs/*-config.php/') ]; then
local ee_db_name=$(grep DB_NAME $(grep root /etc/nginx/sites-available/$EE_DOMAIN | awk '{ print $2 }' | sed 's/;//g' | sed 's/htdocs/*-config.php/' 2> /dev/null) | cut -d"'" -f4)
mysqldump $ee_db_name > $ee_webroot/backup/db/${ee_db_name}-$(date +"%m-%d-%y").sql.bak
fi
}

7
src/modules/site/update/ee_mod_update_domain.sh

@ -1,7 +1,12 @@
# Update Domain setup # Update NGINX configuration for $EE_DOMAIN
function ee_mod_update_domain() function ee_mod_update_domain()
{ {
# Git commit
ee_lib_git /etc/nginx/ "Before $EE_DOMAIN updated with $EE_SITE_CREATE_OPTION $EE_SITE_CACHE_OPTION options"
# Backup NGINX configuration & Database & Webroot
ee_mod_site_backup
# Creating $EE_DOMAIN # Creating $EE_DOMAIN
ee_lib_echo "Updating $EE_DOMAIN, please wait..." ee_lib_echo "Updating $EE_DOMAIN, please wait..."
if [ -f /etc/nginx/sites-available/$EE_DOMAIN ]; then if [ -f /etc/nginx/sites-available/$EE_DOMAIN ]; then

Loading…
Cancel
Save