Skip to content

Commit

Permalink
don't add service runner manually or run update during factory reset
Browse files Browse the repository at this point in the history
  • Loading branch information
glynhudson committed Oct 22, 2018
1 parent 5407daa commit 964545c
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 60 deletions.
38 changes: 2 additions & 36 deletions emoncmsupdate
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,8 @@ uid=`id -u`
echo "EUID: $uid"

if [ "$uid" = "0" ] ; then
# update is being ran mistakenly as root, need to remove all sudo crontab service runner entries
echo "update running as root: remove sudo crontab service runner entries"
crontab -l > mycron
if grep -Fxq " * * * * * /home/pi/emonpi/service-runner >> /var/log/service-runner.log 2>&1" mycron ; then
sed -i "/\s\* \* \* \* \* \/home\/pi\/emonpi\/service-runner >> \/var\/log\/service-runner.log 2>&1/d" ./mycron
fi
if grep -Fxq "* * * * * /home/pi/emonpi/service-runner >> /var/log/service-runner.log 2>&1" mycron ; then
sed -i "/\* \* \* \* \* \/home\/pi\/emonpi\/service-runner >> \/var\/log\/service-runner.log 2>&1/d" ./mycron
fi
crontab mycron
rm mycron
echo "switching to Pi user & restarting script"
# update is being ran mistakenly as root, switch to Pi user
echo "update running as root: switching to Pi user & restarting script"
echo
echo "**MANUAL SYSTEM REBOOT REQUIRED**"
echo
Expand All @@ -43,30 +33,6 @@ fi

#########################################################################################

# Add backup module service-runner
echo "Checking cron tab for service runner entry..."
crontab -l > mycron
# Check crontab entry does not already exist, if not add new entry
if ! grep -Fxq "* * * * * /home/pi/emonpi/service-runner >> /var/log/service-runner.log 2>&1" mycron ; then
echo "Add service runner cron entry"
echo "* * * * * /home/pi/emonpi/service-runner >> /var/log/service-runner.log 2>&1" >> mycron
crontab mycron
else
echo "service runner crontab entry already installed"
fi
rm mycron

# Check if double service runner (with space) entry exits, if so remove it
crontab -l > mycron
if grep -Fxq " * * * * * /home/pi/emonpi/service-runner >> /var/log/service-runner.log 2>&1" mycron ; then
echo "Remove duplicate service runner entry"
sed -i "/\s\* \* \* \* \* \/home\/pi\/emonpi\/service-runner >> \/var\/log\/service-runner.log 2>&1/d" ./mycron
crontab mycron
fi
rm mycron

#########################################################################################

# Install sudoers entry to enable emoncms reboot button

if [ ! -f /etc/sudoers.d/emoncms-rebootbutton ]; then
Expand Down
78 changes: 54 additions & 24 deletions factoryreset
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -62,23 +62,11 @@ git reset --hard HEAD
git pull
git status

echo "get latest updates"
echo
touch /tmp/emonpiupdate
if [[ $image == "old" ]]
then
/home/pi/emonpi/./update
else
/home/pi/emonpi/./service-runner-update.sh
fi
echo
rpi-rw
sudo /etc/init.d/emonhub stop
sudo /etc/init.d/emoncms-nodes-service stop
sudo /etc/init.d/feedwriter stop
sudo /etc/init.d/mqtt_input stop

sudo service redis-server restart
sudo service emonhub stop
sudo service feedwriter stop
sudo service mqtt_input stop
sudo service redis-server stop

echo "remove old conf & backup files"
sudo rm /home/pi/data/*.conf
Expand All @@ -89,25 +77,20 @@ touch /home/pi/data/emoncms.conf
sudo chown pi:www-data /home/pi/data/emoncms.conf
sudo chmod 664 /home/pi/data/emoncms.conf

echo "emonpi default settings"
echo "emonpi emoncms restore default settings"
cp /var/www/emoncms/default.emonpi.settings.php /var/www/emoncms/settings.php

if [[ $image == "old" ]]
then # Legacy image use emonhub.conf without MQTT authenitication
echo "Start with fresh config: copy LEGACY default emonhub.conf"
echo "/home/pi/emonhub/conf/old.default.emonhub.conf /home/pi/data/emonhub.conf"
cp /home/pi/emonhub/conf/old.default.emonhub.conf /home/pi/data/emonhub.conf

echo "Resetting emonPi pi user password to raspberry"
passwd pi<<EOF
raspberry
raspberry
EOF

else # Newer Feb15+ image use latest emonhub.conf with MQTT node variable topic structure and MQTT authentication enabled
echo "Start with fresh config: copy NEW default emonpi emonhub.conf"
echo "cp /home/pi/emonhub/conf/emonpi.default.emonhub.conf /home/pi/data/emonhub.conf"
cp /home/pi/emonhub/conf/emonpi.default.emonhub.conf /home/pi/data/emonhub.conf

echo "Resetting emonPi pi user password to emonpi2016"
passwd pi<<EOF
emonpi2016
Expand Down Expand Up @@ -202,3 +185,50 @@ sudo init 6
fi

exit 0
sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server

echo "Clean up packages"
sudo apt-get clean

if [ "$VERSION" = "stretch" ]; then
echo "Disabling SSH"
sudo update-rc.d ssh disable
sudo invoke-rc.d ssh stop
sudo rm /boot/ssh
fi

echo
if [[ "$ans" == "" ]] ; then ans=n;fi
if [[ "$ans" == "y" ]] ;then
echo "Shutting down Raspberry Pi";
sudo halt;
else
echo "REBOOTING Raspberry Pi";
sudo init 6
fi

exit 0sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server

echo "Clean up packages"
sudo apt-get clean

if [ "$VERSION" = "stretch" ]; then
echo "Disabling SSH"
sudo update-rc.d ssh disable
sudo invoke-rc.d ssh stop
sudo rm /boot/ssh
fi

echo
if [[ "$ans" == "" ]] ; then ans=n;fi
if [[ "$ans" == "y" ]] ;then
echo "Shutting down Raspberry Pi";
sudo halt;
else
echo "REBOOTING Raspberry Pi";
sudo init 6
fi

exit 0

0 comments on commit 964545c

Please sign in to comment.