Última actividad 1765299053

Генератор MOTH (message of the day) сообщений

KarelWintersky revisó este gist 1765299052. Ir a la revisión

1 file changed, 0 insertions, 0 deletions

gistfile1.txt renombrado a gistfile1.md

Archivo renombrado sin cambios

KarelWintersky revisó este gist 1765299045. Ir a la revisión

1 file changed, 98 insertions

gistfile1.txt(archivo creado)

@@ -0,0 +1,98 @@
1 + ```
2 + #!/bin/bash
3 + # /etc/update-motd.d/99-mymotd-generator
4 + # OR
5 + # /etc/profile.d/sysinfo.sh
6 + #
7 +
8 + # Text Color Variables http://misc.flogisoft.com/bash/tip_colors_and_formatting
9 + tcLtG="\033[00;37m" # LIGHT GRAY
10 + tcDkG="\033[01;30m" # DARK GRAY
11 + tcLtR="\033[01;31m" # LIGHT RED
12 + tcLtGRN="\033[01;32m" # LIGHT GREEN
13 + tcLtBL="\033[01;34m" # LIGHT BLUE
14 + tcLtP="\033[01;35m" # LIGHT PURPLE
15 + tcLtC="\033[01;36m" # LIGHT CYAN
16 + tcW="\033[01;37m" # WHITE
17 + tcRESET="\033[0m"
18 + tcORANGE="\033[38;5;209m"
19 +
20 + # Time of day
21 + HOUR=$(date +"%H")
22 + if [ $HOUR -lt 12 -a $HOUR -ge 0 ]; then TIME="morning"
23 + elif [ $HOUR -lt 17 -a $HOUR -ge 12 ]; then TIME="afternoon"
24 + else TIME="evening"
25 + fi
26 +
27 + # System uptime
28 + uptime=`cat /proc/uptime | cut -f1 -d.`
29 + upDays=$((uptime/60/60/24))
30 + upHours=$((uptime/60/60%24))
31 + upMins=$((uptime/60%60))
32 +
33 + # System + Memory
34 + MEMORY_USED=`free -b | grep Mem | awk '{print $3/$2 * 100.0}'`
35 + SWAP_USED=`free -b | grep Swap | awk '{print $3/$2 * 100.0}'`
36 + NUM_PROCS=`ps aux | wc -l`
37 +
38 + # IP первого сетевого интерфейса
39 + LOCAL_IP=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1)
40 +
41 + # Имя сервера
42 + HOSTNAME=$(hostname)
43 +
44 + # ОS
45 + OS=$(grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"')
46 +
47 + # Пользователь
48 + USER_NAME=$(whoami)
49 + [ "$USER_NAME" = "root" ] && USER_NAME="${tcLtR}${USER_NAME}${tcRESET}"
50 +
51 + # Load average
52 + LOADAVG=$(awk '{print $1" "$2" "$3}' /proc/loadavg)
53 + SYS_LOADS=`cat /proc/loadavg | awk '{print $1}'`
54 +
55 + # RAM: всего и свободно (в мегабайтах)
56 + RAM_TOTAL=$(free -m | awk '/Mem:/ {print $2}')
57 + RAM_FREE=$(free -m | awk '/Mem:/ {print $7}')
58 + RAM_FREE_PCT=$(( RAM_FREE * 100 / RAM_TOTAL ))
59 +
60 + # Количество CPU
61 + CPU_COUNT=$(nproc)
62 +
63 + # Uptime
64 + UPTIME=$(uptime -p)
65 +
66 + # HDD: для корневого раздела /
67 + DISK_TOTAL_HUMAN=$(df -h / | awk 'NR==2 {print $2}')
68 + DISK_FREE_HUMAN=$(df -h / | awk 'NR==2 {print $4}')
69 +
70 + # Используем df без форматирования для процентов
71 + DISK_TOTAL=$(df -k / | awk 'NR==2 {print $2}')
72 + DISK_FREE=$(df -k / | awk 'NR==2 {print $4}')
73 + DISK_FREE_PCT=$(( DISK_FREE * 100 / DISK_TOTAL ))
74 +
75 + echo -e "$tcDkG ==============================================================="
76 + echo -e $tcLtG " Good $TIME! $tcORANGE $LOCAL_IP"
77 + echo -e $tcDkG "==============================================================="
78 + echo -e $tcLtG " - Hostname :$tcW ${$HOSTNAME}"
79 + echo -e $tcLtG " - IP Address :$tcW ${LOCAL_IP:-N/A}"
80 + echo -e $tcLtG " - User :$tcW ${USER_NAME}"
81 + echo -e $tcLtG "==============================================================="
82 + echo -e $tcLtG " - OS Release :$tcW $(lsb_release -s -d)"
83 + echo -e $tcLtG " - Kernel : `uname -a | awk '{print $1" "$3" "$12}'`"
84 + echo -e $tcLtG " - Users : Currently `users | wc -w` user(s) logged on"
85 + echo -e $tcLtG "==============================================================="
86 + echo -e $tcLtG " - Server Time : `date`"
87 + echo -e $tcLtG " - System load : ${SYS_LOADS} / ${NUM_PROCS} processes running"
88 + echo -e $tcLtG " - Load average : ${LOADAVG}"
89 + echo -e $tcLtG " - System uptime : ${upDays} days ${upHours} hours ${upMins} minutes"
90 + echo -e $tcLtG "==============================================================="
91 + echo -e $tcLtG " - CPU : ${CPU_COUNT} CPU"
92 + echo -e $tcLtG " - RAM : ${RAM_TOTAL} MB, ${RAM_FREE} MB (${RAM_FREE_PCT}%) free"
93 + echo -e $tcLtG " - HDD : ${DISK_TOTAL_HUMAN}, ${DISK_FREE_HUMAN} (${DISK_FREE_PCT}%) free"
94 + echo -e $tcLtG " - Swap used % : ${SWAP_USED}"
95 + echo -e $tcDkG "==============================================================="
96 + echo -e $tcRESET ""
97 +
98 + ```
Siguiente Anterior