| @@ -0,0 +1,84 @@ | |||||
| #!/bin/bash | |||||
| PLANNING_ROOT="/data/vhost/www.planningalerts.com/" | |||||
| PLANNING_BACKUPS="$PLANNING_ROOT/backups/" | |||||
| DEPLOYMENT_LOG_DIRECTORY="$PLANNING_ROOT/logs/" | |||||
| DEPLOYMENT_LOG="$DEPLOYMENT_LOG_DIRECTORY/deployment_log" | |||||
| BACKUP_DIRECTORY_NAME="planningalerts_backup_`date +%F_%Hh%Mm%Ss`" | |||||
| # This will be the name of the new backup directory | |||||
| BACKUP_DIRECTORY=$PLANNING_BACKUPS$BACKUP_DIRECTORY_NAME | |||||
| # Check to see if the PLANNING_ROOT directory exists and is writable | |||||
| if ! [ -w $PLANNING_ROOT ]; | |||||
| then | |||||
| echo "Planning root directory: $PLANNING_ROOT doesn't exist, or isn't writable by this user"; | |||||
| exit 1 | |||||
| fi; | |||||
| # Check that the PLANNING_BACKUPS directory exists and is writable | |||||
| if ! [ -w $PLANNING_BACKUPS ]; | |||||
| then | |||||
| echo "Planning backups directory: $PLANNING_BACKUPS doesn't exist, or isn't writable"; | |||||
| exit 2 | |||||
| fi; | |||||
| # Check that the DEPLOYMENT_LOG exists and is writable | |||||
| # FIXME - these checks could be better | |||||
| if [ ! -w $DEPLOYMENT_LOG -a ! -w $DEPLOYMENT_LOG_DIRECTORY ]; | |||||
| then | |||||
| echo "Deployment log: $DEPLOYMENT_LOG doesn't exist, or isn't writable"; | |||||
| exit 3 | |||||
| fi; | |||||
| # Make a the directory to put the backup in | |||||
| mkdir $BACKUP_DIRECTORY | |||||
| # Move docs, cgi-bin and tools to the backups area | |||||
| # Copy data to the backups area | |||||
| # FIXME - which directories should probably be a variable | |||||
| echo | |||||
| echo "Backing up the current deployment to $BACKUP_DIRECTORY" | |||||
| (cd $PLANNING_ROOT; | |||||
| mv docs cgi-bin tools $BACKUP_DIRECTORY; | |||||
| cp -R data $BACKUP_DIRECTORY; | |||||
| ); | |||||
| echo "Done" | |||||
| echo | |||||
| # Copy the new versions of docs, cgi-bin and tools to PLANNING_ROOT | |||||
| echo "Deploying the new versions of docs, cgi-bin, and tools" | |||||
| cp -R docs cgi-bin tools $PLANNING_ROOT | |||||
| # Copy the config files from $PLANNING_BACKUPS to $PLANNING_ROOT | |||||
| # FIXME - we should have a variable for which files to do here | |||||
| if [ -a $BACKUP_DIRECTORY/docs/include/config.php ]; | |||||
| then | |||||
| echo "Copying back config.php"; | |||||
| cp $BACKUP_DIRECTORY/docs/include/config.php $PLANNING_ROOT/docs/include/; | |||||
| else | |||||
| echo "No config.php to put back"; | |||||
| fi; | |||||
| # Sort out .htaccess | |||||
| if [ -a $BACKUP_DIRECTORY/docs/.htaccess ]; | |||||
| then | |||||
| echo "Copying back .htaccess"; | |||||
| cp $BACKUP_DIRECTORY/docs/.htaccess $PLANNING_ROOT/docs/; | |||||
| # FIXME - should we rename the old .htaccess? | |||||
| else | |||||
| echo "No .htaccess to put back"; | |||||
| fi; | |||||
| # Write something in the deployment log | |||||
| echo | |||||
| echo "Updating deployment log" | |||||
| echo "Deployed by $USER on `date`" >> $DEPLOYMENT_LOG | |||||
| echo | |||||
| echo "Remember to check that there are no changes needed in:" | |||||
| echo ".htaccess" | |||||
| echo "docs/include/config.php" | |||||
| echo | |||||