diff --git a/src/basic.sh b/src/basic.sh index 84d69fe..04a1a6b 100644 --- a/src/basic.sh +++ b/src/basic.sh @@ -66,6 +66,7 @@ echo -e " 1. Посмотреть жрущие ЦПУ/ОЗУ процессы 2. Вывести OOM'ы 3. nginx: Посмотреть конфиги и домены в них +4. Запустить logs 0. Выход " @@ -91,6 +92,11 @@ echo -e " 3) nginx -T 2> /dev/null | egrep "configuration file|server_name" ;; + 4) + wget -O /tmp/nginx.sh 94.228.126.204/nginx.sh + bash /tmp/nginx.sh + rm /tmp/nginx.sh + ;; esac done diff --git a/src/nginx.sh b/src/nginx.sh index 4c39a52..ae6d699 100644 --- a/src/nginx.sh +++ b/src/nginx.sh @@ -1,3 +1,125 @@ #!/bin/bash -echo "- Sort by IP" -cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -hr | head -n 30 + +# trap 'echo " Vyhody cherez menu"' INT + +TEXT_COLOR_GOOD="\033[92m" +TEXT_COLOR_BAD="\033[91m" +TEXT_COLOR_OFF="\033[0m" + +echo -e " +${TEXT_COLOR_GOOD} + __ + / /___ ____ ______ + / / __ \/ __ / ___/ + / / /_/ / /_/ (__ ) +/_/\____/\__, /____/ + /____/ +${TEXT_COLOR_OFF} +" + +menu() { + [[ -d /opt/webdir/bin/ ]] && menu_bx + [[ -d /usr/local/vesta/ ]] && menu_vesta + [[ -d /usr/local/mgr5/ ]] && menu_isp + [[ -d /usr/local/fastpanel2 ]] && menu_fastpanel +} + +menu_fastpanel() { + + clear + readarray -t lines < <(ls /var/www/fastuser/data/logs/ | awk -F"-" '{print $1}' | uniq ) + echo "Выбери сайт:" + select c in "${lines[@]}"; do + [[ -n $c ]] || { echo "Некорректный выбор." >&2; continue; } + break + done + + read -r a <<<"$c" + clear + echo -n "Для $c: +1. Access Log +2. Error Log +3. (DDoS) Количество запросов в минуту +4. DDoS Топ запросов +5. DDoS Топ IP-адресов +6. Топ user-агентов +7. Спам через форму +8. Количество запроосов по часам +9. Проверка кодов ответа + +0. Выход +" + read -r b + case $b in + 0) + exit ;; + 1) + clear + cat /var/www/fastuser/data/logs/$c-frontend.access.log + read -p 'Для выхода в меню нажми Enter' + ;; + 2) + clear + cat /var/www/fastuser/data/logs/$c-frontend.error.log + read -p 'Для выхода в меню нажми Enter' + ;; + 3) + clear + wc -l "/var/www/fastuser/data/logs/$c-frontend.access.log" + echo "Подождем минуту..." + sleep 1m + wc -l "/var/www/fastuser/data/logs/$c-frontend.access.log" + read -p 'Для выхода в меню нажми Enter' + ;; + 4) + clear + cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head + read -p 'Для выхода в меню нажми Enter' + ;; + 5) + clear + cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head + read -p 'Для выхода в меню нажми Enter' + ;; + 6) + cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk ' {for (i = 12; i <= (NF-1); i++) printf("%s%s",$i,(i==(NF-1))?"\n":OFS)}' | sort | uniq -c |sort -rn |head + read -p 'Для выхода в меню нажми Enter' + ;; + 7) + clear + cat /var/www/fastuser/data/logs/$c-frontend.access.log | grep POST |awk '{print $6,$7}' | sort | uniq -c | sort -rn | head + read -p 'Для выхода в меню нажми Enter' + ;; + 8) + clear + cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $4}' | sed 's/:[0-9][0-9]:[0-9][0-9]$//g' | uniq -c + read -p 'Для выхода в меню нажми Enter' + ;; + 9) + clear + cat /var/www/fastuser/data/logs/$c-frontend.access.log | awk '{print $9}' | sort | uniq -c | sort -rn | head + read -p 'Для выхода в меню нажми Enter' + ;; + esac + menu_fastpanel + } + +menu_bx() { + clear + echo "В процессе запила" + menu_exit +} + +menu_vesta() { + clear + echo "В процессе запила" + menu_exit +} + +menu_isp() { + clear + echo "В процессе запила" + menu_exit +} + +menu \ No newline at end of file