Browse Source

Add Script for Webpanel Upgrade

Add a script to perform webpanel upgrade, including future iterations of
webpanel.
pull/123/head
Justin Karimi 3 years ago
parent
commit
ee8d734e2b
2 changed files with 72 additions and 0 deletions
  1. +2
    -0
      bak/.gitignore
  2. +70
    -0
      update_webpanel.sh

+ 2
- 0
bak/.gitignore View File

@@ -0,0 +1,2 @@
*
!.gitignore

+ 70
- 0
update_webpanel.sh View File

@@ -0,0 +1,70 @@
#!/bin/bash
set -e

### Run as a normal user
if [ $EUID -eq 0 ]; then
echo "This script shouldn't be run as root."
exit 1
fi

## import common lib
. "$HOME/.noaa.conf"
. "$NOAA_HOME/common.sh"

WEB_DIR=/var/www/wx
STEPS=3

echo "
This script is used to sync webpanel updates and provide an easy
way for users to keep their webpanel up to date with new features
that are released - note that the first time you use this to migrate
to the new webpanel contents, your Config.php file (containing locale
settings) will be backed up to the $NOAA_HOME/bak/ directory and a
replacement config.php put in its place. You can reference values you
might have configured in the backup file to update $WEB_DIR/config.php
to your liking.

If you have made significant changes to any of the contents in the webpanel
deployment, they likely WILL be destroyed by running this script as all
files in $WEB_DIR are replaced with the exception of the following, which are
left alone to preserve the captures:

* audio/
* images/
* meteor/
"

read -rp "Are you sure you wish to proceed? (y/N) "
if [[ $REPLY =~ ^[Nn]$ ]]; then
log "Aborting webpanel sync" "ERROR"
exit 0
elif [[ $REPLY =~ ^[Yy]$ ]]; then
log "Webpanel sync proceeding!" "INFO"
else
log "Aborting webpanel sync - unknown option '$REPLY'" "ERROR"
exit 1
fi

log "1/$STEPS: Backing up PHP config file..." "INFO"
if [ -f "$WEB_DIR/config.php" ]; then
log " Found newer-style config file - backing up." "INFO"
cp $WEB_DIR/config.php $NOAA_HOME/bak/config.php.backup
elif [ -f "$WEB_DIR/Config.php" ]; then
log " Found older-style config file - backing up." "INFO"
cp $WEB_DIR/Config.php $NOAA_HOME/bak/Config.php.backup
else
log " Did not find any existing config file - proceeding." "INFO"
fi
log "1/$STEPS: Done backing up PHP config file" "INFO"

log "2/$STEPS: Removing old PHP files (excluding images/audio)..." "INFO"
find $WEB_DIR/ -mindepth 1 -type d -name "images" -prune -o -type d -name "audio" -prune -o -type d -name "meteor" -prune -o -print | xargs rm -rf
log "2/$STEPS: Old PHP files removed" "INFO"

log "3/$STEPS: Copying new PHP files..." "INFO"
sudo cp -rp $NOAA_HOME/templates/webpanel/* $WEB_DIR/
log "3/$STEPS: Done copying new PHP files" "INFO"

log "Your old PHP config file has been copied to the bak/ directory" "INFO"
log "Please update any settings you wish to preserve in $WEB_DIR/config.php" "INFO"
log " including 'lang' and 'timezone' settings for display" "INFO"

Loading…
Cancel
Save