webssh2/bin/startup_script_webssh_commands.sh
billchurch bc19432dfa housekeeping
Move bulk of server .js file files to /server, all client related files
live in /client (including /public), webpack scripts now live in
/scripts, cleanup of paths in /client/src/js/index.js and webpack.js.
2018-02-16 23:48:00 -05:00

63 lines
2 KiB
Bash

#!/bin/bash
# Filename: /config/startup_script_webssh_commands.sh
# Initializes WebSSH2 tmm-to-node listener
# WebSSHVSIP should be the IP on an existing BIGIP virtual server assigned to
# the WebSSH2 service.
#
# bill@f5.com February 2018
export myFileName=$0
export REMOTEUSER=root
export WEBSSHVSIP=
# check to see if we're in /config/startup, if not add ourselves
IN_STARTUP=`grep startup_script_webssh_commands.sh /config/startup | wc -l`
if [ $IN_STARTUP -eq 0 ]; then
echo Adding script to /config/startup and ensuring correct permissions...
logger -p local0.notice -t $myFileName Adding $0 to /config/startup and ensuring correct permissions...
chmod 755 /config/startup
chmod 755 /config/startup_script_webssh_commands.sh
echo /config/startup_script_webssh_commands.sh \& >> /config/startup
echo >> /config/startup
fi
# Limit to 13 times in while-loop, ie. 12 x 10 secs sleep = 2 mins.
MAX_LOOP=13
while true
do
# check to see if tmm interface is up
IPLINKLIST=$(ip link list tmm 2>&1)
if [ $? -eq 0 ]; then
if [ ! -z $WEBSSHVSIP ]; then
IPADDRADD=$(/sbin/ip addr add $WEBSSHVSIP/32 dev tmm 2>&1)
if [ $? -eq 0 ]; then
# success
echo SUCCESS $IPADDRADD
logger -p local0.notice -t $myFileName IPADDRADD: SUCCESS: $IPADDRADD
else
# failure
echo FAILURE $IPADDRADD
logger -p local0.notice -t $myFileName IPADDRADD: FAILURE: $IPADDRADD
fi
else
echo FAILURE: WEBSSHVSIP not specified.
echo Open $0 and set the WEBSSHVSIP and try again
echo
logger -p local0.notice -t $myFileName IPADDRADD: FAILURE: NO WEBSSHVSIP SPECIFIED
fi
exit
fi
# If tmm interface is not up yet, script sleep 10 seconds and check again.
sleep 10
# Safety check not to run this script in background beyond 2 mins (ie. 12 times in while-loop).
if [ "$MAX_LOOP" -eq 1 ]; then
logger -p local0.notice -t $myFileName tmm interface not up within 2 minutes. Exiting script.
logger -p local0.notice -t $myFileName IPLINKLIST: $IPLINKLIST
exit
fi
((MAX_LOOP--))
done
# End of file /config/startup_script_webssh_commands.sh