Initial Github commit
This commit is contained in:
21
backgroundscripts/cronscript.sh
Normal file
21
backgroundscripts/cronscript.sh
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
#set variable for script location
|
||||
scriptloc=/home/arborscripts
|
||||
#Check for stop file
|
||||
if [ -e /home/arborscripts/stop ]; then
|
||||
|
||||
#Send admin an email if stopped
|
||||
SUBJECT="Arbor Cron Stopped"
|
||||
EMAIL="dev@null.com"
|
||||
EMAILMESSAGE="/home/arborscripts/email.txt"
|
||||
/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
|
||||
|
||||
else
|
||||
|
||||
#pull data
|
||||
curl -k https://127.0.0.1/arborws/traffic -d api_key=APIKEY --data-urlencode query@$scriptloc/pullreq.xml > $scriptloc/report.xml
|
||||
|
||||
mysql -u USER --password="PASSWORD" -e "LOAD XML LOCAL INFILE '$scriptloc/report.xml' INTO TABLE DATABASE.rawdata ROWS IDENTIFIED BY '<flow>';"
|
||||
|
||||
mysql -u USER --password="PASSWORD" -e "DELETE FROM DATABASE.rawdata WHERE time < (UNIX_TIMESTAMP() - 604800);"
|
||||
fi
|
1
backgroundscripts/email.txt
Normal file
1
backgroundscripts/email.txt
Normal file
@ -0,0 +1 @@
|
||||
Someone has stopped the cron.
|
11
backgroundscripts/geodbdownload.sh
Normal file
11
backgroundscripts/geodbdownload.sh
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
if [ `date +%d` -gt 7 ] ; then
|
||||
exit
|
||||
else
|
||||
wget -P /home/srv/html/netdata/mapping/ http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
|
||||
|
||||
gunzip -c /home/srv/html/netdata/mapping/GeoLiteCity.dat.gz > /home/srv/html/netdata/mapping/GeoLiteCity.dat
|
||||
|
||||
rm -f /home/srv/html/netdata/mapping/GeoLiteCity.dat.gz
|
||||
|
||||
fi
|
10
backgroundscripts/pullreq.xml
Normal file
10
backgroundscripts/pullreq.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<peakflow version="2.0">
|
||||
<query type="traffic_raw">
|
||||
<time start_ascii="10 minutes ago" end_ascii="now"/>
|
||||
<search limit="50000" timeout="30"/>
|
||||
<filter type="fcap">
|
||||
<instance value="(dst net 127.0.0.1/8)"/>
|
||||
</filter>
|
||||
</query>
|
||||
</peakflow>
|
11
backgroundscripts/stats/stat15.sh
Executable file
11
backgroundscripts/stats/stat15.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
for each in $(mysql -u USERNAME --password='PASSWORD' --skip-column-names -se "select port from DATABASE.commonports;")
|
||||
|
||||
do
|
||||
|
||||
quantity=$(mysql -u USERNAME --password='PASSWORD' -se "SELECT COUNT(*) FROM DATABASE.rawdata WHERE dst_port = $each AND time > (UNIX_TIMESTAMP() - 900);"|tail -n1)
|
||||
|
||||
mysql -u USERNAME --password="PASSWORD" -e "INSERT INTO DATABASE.stats (type, amount, service) VALUES('15min', $quantity, $each);"
|
||||
|
||||
done
|
11
backgroundscripts/stats/stat30.sh
Executable file
11
backgroundscripts/stats/stat30.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
for each in $(mysql -u USERNAME --password='PASSWORD' --skip-column-names -se "select port from DATABASE.commonports;")
|
||||
|
||||
do
|
||||
|
||||
quantity=$(mysql -u USERNAME --password='PASSWORD' -se "SELECT COUNT(*) FROM DATABASE.rawdata WHERE dst_port = $each AND time > (UNIX_TIMESTAMP() - 1800);"|tail -n1)
|
||||
|
||||
mysql -u USERNAME --password="PASSWORD" -e "INSERT INTO DATABASE.stats (type, amount, service) VALUES('30min', $quantity, $each);"
|
||||
|
||||
done
|
11
backgroundscripts/stats/statdaily.sh
Executable file
11
backgroundscripts/stats/statdaily.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
for each in $(mysql -u USERNAME --password='PASSWORD' --skip-column-names -se "select port from DATABASE.commonports;")
|
||||
|
||||
do
|
||||
|
||||
quantity=$(mysql -u USERNAME --password='PASSWORD' -se "SELECT COUNT(*) FROM DATABASE.rawdata WHERE dst_port = $each;"|tail -n1)
|
||||
|
||||
mysql -u USERNAME --password="PASSWORD" -e "INSERT INTO DATABASE.stats (type, amount, service) VALUES('daily', $quantity, $each);"
|
||||
|
||||
done
|
11
backgroundscripts/stats/stathourly.sh
Executable file
11
backgroundscripts/stats/stathourly.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
for each in $(mysql -u USERNAME --password='PASSWORD' --skip-column-names -se "select port from DATABASE.commonports;")
|
||||
|
||||
do
|
||||
|
||||
quantity=$(mysql -u USERNAME --password='PASSWORD' -se "SELECT COUNT(*) FROM DATABASE.rawdata WHERE dst_port = $each AND time > (UNIX_TIMESTAMP() - 3600);"|tail -n1)
|
||||
|
||||
mysql -u USERNAME --password="PASSWORD" -e "INSERT INTO DATABASE.stats (type, amount, service) VALUES('hourly', $quantity, $each);"
|
||||
|
||||
done
|
Reference in New Issue
Block a user