Compare commits

..

No commits in common. "master" and "30bdf7ba5c5b99b4203bea9e563f1226b8603373" have entirely different histories.

6 changed files with 40 additions and 231 deletions

View File

@ -1,7 +1,7 @@
--- ---
kind: pipeline kind: pipeline
type: exec type: exec
name: deploy to prod name: default
steps: steps:
- name: Check playbook - name: Check playbook
@ -11,6 +11,3 @@ steps:
- name: Run playbook - name: Run playbook
commands: commands:
- ansible-playbook playbook.yml - ansible-playbook playbook.yml
node:
target: shell-scripts

View File

@ -4,27 +4,53 @@ pid /run/nginx.pid;
events { events {
worker_connections 768; worker_connections 768;
# multi_accept on;
} }
http { http {
##
# Basic Settings
##
sendfile on; sendfile on;
tcp_nopush on; tcp_nopush on;
tcp_nodelay on; tcp_nodelay on;
keepalive_timeout 65; keepalive_timeout 65;
types_hash_max_size 2048; types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types; include /etc/nginx/mime.types;
default_type application/octet-stream; default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on; ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log; access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on; gzip on;
##
# Virtual Host Configs
##
server { server {
listen 80 default_server; listen 80 default_server;
listen [::]:80 default_server; listen [::]:80 default_server;

View File

@ -6,7 +6,8 @@
become: yes become: yes
apt: apt:
name: nginx-light name: nginx-light
state: present update_cache: yes
state: latest
- name: Create dir - name: Create dir
file: file:
path: /var/www path: /var/www
@ -20,14 +21,6 @@
group: www-data group: www-data
with_fileglob: with_fileglob:
- src/* - src/*
- name: Copy index file
become: yes
template:
src: template/index.jinja2
dest: /var/www/index.html
owner: www-data
group: www-data
mode: 0644
- name: Copy config file - name: Copy config file
become: yes become: yes
copy: copy:
@ -39,7 +32,6 @@
handlers: handlers:
- name: Reload nginx - name: Reload nginx
become: yes become: yes
ignore_errors: yes
service: service:
name: nginx name: nginx
state: restarted state: restarted

View File

@ -1,42 +1,16 @@
#!/bin/bash #!/bin/bash
trap 'echo " Vyhody cherez menu"' INT echo "- Load:"
TEXT_COLOR_GOOD="\033[92m"
TEXT_COLOR_BAD="\033[91m"
TEXT_COLOR_OFF="\033[0m"
echo -e "
${TEXT_COLOR_GOOD}
__ __ __
/ /__ __ / /_ ___ / /___ ___ _____
/ __/ | /| / / ______ / __ \/ _ \/ / __ \/ _ \/ ___/
/ /_ | |/ |/ / /_____/ / / / / __/ / /_/ / __/ /
\__/ |__/|__/ /_/ /_/\___/_/ .___/\___/_/
/_/
${TEXT_COLOR_OFF}
"
harakiri() {
printf "${TEXT_COLOR_BAD}Committing *roskomnadzor*...${TEXT_COLOR_OFF}\n"
if [[ "$HOSTNAME" != "pve-ansible" ]]; then
rm -f "$BASH_SOURCE" &> /dev/null
fi
exit
}
lsb_release -a 2> /dev/null
echo -e "\n${TEXT_COLOR_GOOD} - Load:${TEXT_COLOR_OFF}\n"
nproc=`nproc` nproc=`nproc`
la=`cat /proc/loadavg | awk '{print $1", " $2", " $3}'` la=`cat /proc/loadavg | awk '{print $1, $2, $3}'`
usedmem=`free -m | head -2 | tail -1 | awk '{print $3}'` usedmem=`free -m | head -2 | tail -1 | awk '{print $3}'`
totalmem=`free -m | head -2 | tail -1 | awk '{print $2}'` totalmem=`free -m | head -2 | tail -1 | awk '{print $2}'`
echo 'LA: ' $la ' of ' $nproc echo 'LA: ' $la ' of ' $nproc
echo 'RAM: ' $usedmem 'Mb of ' $totalmem Mb echo 'RAM: ' $usedmem ' of ' $totalmem
echo -e "\n${TEXT_COLOR_GOOD} - Disk: ${TEXT_COLOR_OFF}\n" echo "- Disk:"
df -h | head -n 1 df -h | head -n 1
df -h | grep '/dev/vd' df -h | grep '/dev/vd'
@ -45,7 +19,10 @@ echo "- Inodes:"
df -hi | grep '/dev/vd' df -hi | grep '/dev/vd'
echo -e "\n${TEXT_COLOR_GOOD} - Installed panel: ${TEXT_COLOR_OFF}\n" echo "- OOMS:"
dmesg -T | grep "Out of memory"
echo "- Installed panel:"
#if zero - false #if zero - false
[[ -d /opt/webdir/bin/ ]] && echo "Bitrix!" [[ -d /opt/webdir/bin/ ]] && echo "Bitrix!"
@ -53,60 +30,8 @@ echo -e "\n${TEXT_COLOR_GOOD} - Installed panel: ${TEXT_COLOR_OFF}\n"
[[ -d /usr/local/mgr5/ ]] && echo "ISPManager!" [[ -d /usr/local/mgr5/ ]] && echo "ISPManager!"
[[ -d /usr/local/fastpanel2 ]] && echo "Fastpanel 2" [[ -d /usr/local/fastpanel2 ]] && echo "Fastpanel 2"
echo -e "${TEXT_COLOR_GOOD} - OOMS: ${TEXT_COLOR_OFF}\n" echo "- Installed packages"
dmesg -T | grep "Out of memory" | tail -20
# Top RAM
echo -e "${TEXT_COLOR_GOOD} - Top RAM usage:${TEXT_COLOR_OFF}"
ps axk-%mem ouser,%cpu,%mem,command | head
echo
# Top CPU
echo -e "${TEXT_COLOR_GOOD} - Top CPU usage:${TEXT_COLOR_OFF}"
ps axk-%cpu ouser,%cpu,%mem,command | head
echo
# Какое ПО стоит? Docker/atop
echo -e "\n${TEXT_COLOR_GOOD} - Installed software: ${TEXT_COLOR_OFF}\n"
for i in "docker" "atop" "qemu-ga"
do
if which $i
then
echo "$i is installed"
else
echo "$i is NOT installed"
fi
echo
done
while true
do
echo -e "
---
2. nginx: Посмотреть конфиги и домены в них
3. Запустить logs
0. Выход
"
read -r -p "Выбери: " action
case $action in
0)
harakiri
;;
2)
nginx -T 2> /dev/null | egrep "configuration file|server_name"
;;
3)
wget -O /tmp/nginx.sh 94.228.126.204/nginx.sh
bash /tmp/nginx.sh
rm /tmp/nginx.sh
;;
esac
done
list=$(apt list --installed 2>&1 |egrep 'atop')
echo $list

View File

@ -1,125 +0,0 @@
#!/bin/bash
# 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

View File

@ -1,6 +0,0 @@
<html>
<body>
<a href="basic.sh">wget -q -O - {{ansible_default_ipv4.address}}/basic.sh | bash</a> <br>
<a href="nginx.sh">wget -q -O - {{ansible_default_ipv4.address}}/nginx.sh | bash</a> <br>
</body>
</html>