| @@ -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 | |||