#!/bin/bash tunnel_entrance_port=13306 tunnel_end=username@re.mo.te.ip destination=127.0.0.1 destination_port=3306 # Use netcat to connect to tunnel entrance port. If its exit code is not zero, the tunnel needs to be brought up nc -w1 localhost $tunnel_entrance_port > /dev/null if [[ $? -ne 0 ]]; then echo "creating new tunnel for MySQL" /usr/bin/ssh -f -N -L $tunnel_entrance_port:$destination:$destination_port $tunnel_end if [[ $? -eq 0 ]]; then echo " tunnel to $destination through $tunnel_end created successfully" else echo " an error occurred creating a tunnel to $destination through $tunnel_end" fi fi
Script to reboot a Comtrend AR-5381u Modem when connectivity is lost
#!/bin/bash # default username for this model export MODEMUSERNAME=admin # default password for model export MODEMPASSWORD=user12345 export COOKIE=/tmp/cookie_jar export CURL=/usr/bin/curl export PING=/bin/ping export GREP=/bin/grep export CUT=/usr/bin/cut $PING -c 5 google.com > /dev/null 2>&1 if [ $? -ne 0 ] then rm $COOKIE > /dev/null 2>&1 export OUTPUT=`$CURL -v -c $COOKIE 'http://$MODEMUSERNAME:$MODEMPASSWORD@192.168.1.1/resetrouter.html' 2>> /tmp/output` export SESSIONKEY=`echo "$OUTPUT" | $GREP var | $GREP sessionKey | $CUT -d"=" -f2 | $CUT -d"'" -f2` echo "kicking modem with session key $SESSIONKEY" export OUTPUT=`$CURL -v -c $COOKIE "http://$MODEMUSERNAME:$MODEMPASSWORD@192.168.1.1/rebootinfo.cgi?sessionKey=$SESSIONKEY" 2>> /tmp/output` fi
Gnuplot one-liner from Hell
Here’s a convenient one liner to chronologically plot data on the command line
Screenshot
Command
export width=`stty size | cut -d " " -f2`; export height=`stty size | cut -d " " -f1`-10; cat /tmp/data | sed "s/ /T/" | gnuplot -e "set terminal dumb $width $height; set autoscale; set xdata time; set timefmt \"%Y-%m-%dT%H:%M:%S\"; set xlabel \"time\"; set ylabel \"counter\"; plot '-' using 1:2 with lines"
Data
/tmp/data contains the following:
2000-01-01 00:00:00 1 2000-01-01 01:00:00 2 2000-01-01 02:00:00 3 2000-01-01 03:00:00 2 2000-01-01 04:00:00 3 2000-01-01 05:00:00 4 2000-01-01 06:00:00 5 2000-01-01 07:00:00 4 2000-01-01 08:00:00 3 2000-01-01 09:00:00 4 2000-01-01 10:00:00 4 2000-01-01 11:00:00 5 2000-01-01 12:00:00 4 2000-01-01 13:00:00 4 2000-01-01 14:00:00 3 2000-01-01 15:00:00 2 2000-01-01 16:00:00 3 2000-01-01 17:00:00 4 2000-01-01 18:00:00 4 2000-01-01 19:00:00 5 2000-01-01 20:00:00 6 2000-01-01 21:00:00 6 2000-01-01 22:00:00 7 2000-01-01 23:00:00 8 2000-01-02 00:00:00 7 2000-01-02 01:00:00 7 2000-01-02 02:00:00 6 2000-01-02 03:00:00 8 2000-01-02 04:00:00 9 2000-01-02 05:00:00 9 2000-01-02 06:00:00 9 2000-01-02 07:00:00 8 2000-01-02 08:00:00 7 2000-01-02 09:00:00 5 2000-01-02 10:00:00 4 2000-01-02 11:00:00 4 2000-01-02 12:00:00 4 2000-01-02 13:00:00 3 2000-01-02 14:00:00 2 2000-01-02 15:00:00 2 2000-01-02 16:00:00 1