diff -Nur smeserver-unifi-5.6.30.ori/root/etc/e-smith/events/actions/upgrade_unifi_controller.sh smeserver-unifi-5.6.30/root/etc/e-smith/events/actions/upgrade_unifi_controller.sh --- smeserver-unifi-5.6.30.ori/root/etc/e-smith/events/actions/upgrade_unifi_controller.sh 2018-03-09 02:19:45.755000000 -0500 +++ smeserver-unifi-5.6.30/root/etc/e-smith/events/actions/upgrade_unifi_controller.sh 2018-03-09 01:51:47.721000000 -0500 @@ -23,7 +23,8 @@ # then run the script! # CONFIGURATION OPTIONS -UNIFI_DOWNLOAD_URL=http://dl.ubnt.com/unifi/5.0.7/UniFi.unix.zip +VERSION=$(/sbin/e-smith/db configuration getprop unifi VersionToInstall || echo "5.6.30") +UNIFI_DOWNLOAD_URL=http://dl.ubnt.com/unifi/$VERSION/UniFi.unix.zip UNIFI_ARCHIVE_FILENAME=UniFi.unix.zip UNIFI_OWNER=ubnt UNIFI_SERVICE=unifi @@ -34,6 +35,9 @@ #### SHOULDN'T HAVE TO MODIFY PAST THIS POINT #### +#today date +TODAY=$(date +%Y-%m-%d-%H%M%S) + # Create progress dots function show_dots() { while ps $1 >/dev/null ; do @@ -63,22 +67,24 @@ service $UNIFI_SERVICE stop # Remove previous backup directory (if it exists) - if [ -d "$UNIFI_BACKUP_DIR" ]; then - printf "\nRemoving previous backup directory...\n" - rm -rf $UNIFI_BACKUP_DIR - fi +# if [ -d "$UNIFI_BACKUP_DIR" ]; then +# printf "\nRemoving previous backup directory...\n" +# rm -rf $UNIFI_BACKUP_DIR +# fi + # remove previous backup and leave the 3 last + ls -tp $UNIFI_BACKUP_DIR/ | grep -v '/$' | tail -n +3 | xargs -d '\n' -r rm -- # Move existing UniFi directory to backup location printf "\nMoving existing UniFi Controller directory to backup location...\n" - mv $UNIFI_DIR $UNIFI_BACKUP_DIR - + mv $UNIFI_DIR "$UNIFI_BACKUP_DIR/UniFi_$TODAY" + # Extract new version printf "\nExtracting downloaded software..." unzip -qq $TEMP_DIR/$UNIFI_ARCHIVE_FILENAME -d $UNIFI_PARENT_DIR & show_dots $! # Jump into the backup directory - cd $UNIFI_BACKUP_DIR || exit + cd "$UNIFI_BACKUP_DIR/UniFi_$TODAY" || exit # Create an archive of the existing data directory printf "\nBacking up existing UniFi Controller data..." diff -Nur smeserver-unifi-5.6.30.ori/root/etc/rc.d/init.d/unifi smeserver-unifi-5.6.30/root/etc/rc.d/init.d/unifi --- smeserver-unifi-5.6.30.ori/root/etc/rc.d/init.d/unifi 2018-03-09 02:20:17.912000000 -0500 +++ smeserver-unifi-5.6.30/root/etc/rc.d/init.d/unifi 2018-03-09 01:38:21.369000000 -0500 @@ -15,11 +15,16 @@ PATH_TO_JAR=/opt/UniFi/lib/ace.jar MEM_LIMIT=1024M PID_FILE=/var/run/unifi.pid +USER='ubnt' +JSVC_EXTRA_OPTS="-user $USER"; + +. /opt/rh/rh-mongodb34/service-environment +. scl_source enable $RH_MONGODB34_SCLS_ENABLED start() { if [ ! -f $PID_FILE ]; then echo -n "Starting $SERVICE_NAME: " - $PATH_TO_JAVA -Xmx$MEM_LIMIT -jar $PATH_TO_JAR start &> /dev/null & + daemon --user=$USER $PATH_TO_JAVA -Xmx$MEM_LIMIT $JSVC_OPTS -jar $PATH_TO_JAR start &> /dev/null & echo $! > $PID_FILE echo_success echo @@ -34,7 +39,7 @@ if [ -f $PID_FILE ]; then PID=$(cat $PID_FILE); echo -n "Stopping $SERVICE_NAME: " - $PATH_TO_JAVA -jar $PATH_TO_JAR stop &> /dev/null & + daemon --user=$USER $PATH_TO_JAVA $JSVC_OPTS -jar $PATH_TO_JAR stop &> /dev/null & rm $PID_FILE echo_success echo