Обновить server/motd-info.sh

This commit is contained in:
2026-04-15 11:16:18 +00:00
parent 6260942a53
commit 8a99c356bc

View File

@@ -1,5 +1,6 @@
#!/bin/bash
# Скрипт установки кастомного sysinfo MOTD
TARGET_PATH="/etc/update-motd.d/zzzzz-motd-sysinfo"
cat > "$TARGET_PATH" <<"EOF"
@@ -9,7 +10,6 @@ RED="\033[0;31m"
GREEN="\033[0;32m"
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
CYAN="\033[0;36m"
RESET="\033[0m"
# ----------------------------
@@ -22,13 +22,13 @@ MEM_TOTAL=$(free -m | awk '/^Mem:/{print $2}')
MEM_PERCENT=$(( MEM_USED * 100 / MEM_TOTAL ))
MEM_STAT="${MEM_USED}/${MEM_TOTAL} МБ (${MEM_PERCENT}%)"
# Нагрузка: считаем как процент относительно количества ядер
# Нагрузка: проценты относительно всех ядер (Windows-стиль)
CPU_CORES=$(nproc)
read LOAD1 LOAD5 LOAD15 < /proc/loadavg
LOAD1P=$(( $(awk "BEGIN {printf \"%.0f\", $LOAD1/$CPU_CORES*100}") ))
LOAD5P=$(( $(awk "BEGIN {printf \"%.0f\", $LOAD5/$CPU_CORES*100}") ))
LOAD15P=$(( $(awk "BEGIN {printf \"%.0f\", $LOAD15/$CPU_CORES*100}") ))
LOAD_AVG="${LOAD1} ${LOAD5} ${LOAD15} (${LOAD1P}% ${LOAD5P}% ${LOAD15P}% от всех ядер)"
LOAD_AVG="${LOAD1P}% ${LOAD5P}% ${LOAD15P}% (1мин 5мин 15мин)"
# CPU температура
if command -v sensors &>/dev/null && sensors | grep -iP "Core|temp1" >/dev/null; then
@@ -85,7 +85,7 @@ RECENT_LOG=$(get_recent_logs)
# 1. Неудачные попытки
FAILED_IPS=$(echo "$RECENT_LOG" | grep "Failed " | awk '{for(i=1;i<NF;i++) if($i=="from") print $(i+1)}' | grep -E '^[0-9]+\.[0-9]+' | sort | uniq -c | sort -nr | head -n 5 | awk '{printf "%s: %s\n", $2, $1}')
# 2. Успешные входы (всего)
# 2. Успешные входы
SUCCESS_IPS=$(echo "$RECENT_LOG" | grep "Accepted " | awk '{for(i=1;i<NF;i++) if($i=="from") print $(i+1)}' | grep -E '^[0-9]+\.[0-9]+' | sort | uniq -c | sort -nr | head -n 5 | awk '{printf "%s: %s\n", $2, $1}')
# ----------------------------