#!/bin/bash ######################################################################### # Check VPN connection including users # # Created by DoIT-PM # # ver 0.3 # ######################################################################### #---------------------------- VARIABLES --------------------------------# BDA="23" TIM=$(date +%H) DAY=$(date +%d) DAB=$(date +%y%m%d) DAT=$(date +%b" "%_d) WEB="/opt/librenms/html/admin/vpn" test -f /var/log/messages && LOG="/var/log/messages" test -f /var/log/syslog && LOG="/var/log/syslog" REP="/tmp/vpn.rep" test -d $WEB || mkdir $WEB test -f $REP && rm -rf $REP #---------------------------- COLLECTION -------------------------------# collect(){ echo -e "- \e[1;32mExtracting\e[0m data from [\e[1;33m$DAT\e[0m]" echo "-------- ---------------- ------------ ----------------" > $REP echo "TIME VPN-PROFILE USER-NAME IP-ADDRESS" >> $REP echo "-------- ---------------- ------------ ----------------" >> $REP cat $LOG | grep "$DAT" | grep "ASA-6-113039" | awk '{print $3,$8,$10,$12}' | sed 's/ /g' | sed 's/>/ /g' >> $REP echo "-------- ---------------- ------------ ----------------" >> $REP } #----------------------------- BIG-DATA --------------------------------# bigdata(){ if [ "$TIM" -eq "$BDA" ]; then echo -e "- \e[1;32mAdding\e[0m day data to BigData" cat $REP | grep "^[0-9]" > $WEB/vpn.tmp sed -i "s/^/$DAB /" $WEB/vpn.tmp cat $WEB/vpn.tmp >> $WEB/vpn.rep echo "------ -------- ---------------- ------------ ----------------" > $WEB/vpn.clr echo "DATE TIME VPN-PROFILE USER-NAME IP-ADDRESS" >> $WEB/vpn.clr echo "------ -------- ---------------- ------------ ----------------" >> $WEB/vpn.clr cat $WEB/vpn.rep | awk '!seen[$0]++' | sort >> $WEB/vpn.clr echo "------ -------- ---------------- ------------ ----------------" >> $WEB/vpn.clr cat $WEB/vpn.clr | column -t > $WEB/vpn.txt else echo -e "- \e[1;31mNOT\e[0m right time for updating BigData" fi } #---------------------------- WEB-REPORT -------------------------------# webrep(){ echo -e "- \e[1;32mBuilding\e[0m webreport [\e[1;35m$WEB/menu.html\e[0m]" cat > $WEB/menu.html << EOF
| $DATE | $TIME | $GROUP | $USER | $ADDRESS | EOF done cat >> $WEB/menu.html <<\EOF