Remove loggers report from motd
[khome.git] / home / lib / login_functions.sh
index 6b01d49..9730feb 100644 (file)
@@ -411,6 +411,24 @@ bar_gauge() {
     '
 }
 
+flat_top_5() {
+    sort -n -k 1 -r \
+    | head -5 \
+    | awk '
+        {
+            cur  = $1
+            max  = $2
+            name = $3
+            pct  = cur / max * 100
+            printf "%s%s:%.2f%%", sep, name, pct
+            sep = " "
+        }
+
+        END {printf "\n"}
+        ' \
+    | column -t
+}
+
 motd_batt() {
     case "$(uname)" in
         'Linux')
@@ -549,7 +567,7 @@ motd() {
 
     echo
 
-    echo 'Process owners'
+    echo 'Process owners (top 5)'
     ps -eo user \
     | awk '
         NR > 1 {
@@ -562,35 +580,7 @@ motd() {
                 print count_by_user[user], total, user
         }
         ' \
-    | sort -n -k 1 -r \
-    | bar_gauge -v num=1 -v ch_left=' ' -v ch_right=' ' -v ch_blank=' ' \
-    | column -t \
-    | indent "${indent_unit}"
-
-    echo
-
-    echo 'Loggers'
-    awk '
-        {
-            split($5, prog, "[")
-            sub(":$", "", prog[1]) # if there were no [], than : will is left behind
-            print prog[1]
-        }' /var/log/syslog \
-    | awk '
-        {
-            n = split($1, path, "/")  # prog may be in path form
-            prog = path[n]
-            total++
-            count[prog]++
-        }
-
-        END {
-            for (prog in count)
-                print count[prog], total, prog
-        }' \
-    | sort -n -k 1 -r \
-    | bar_gauge -v width=30 -v num=1 -v ch_left=' ' -v ch_right=' ' -v ch_blank=' ' \
-    | column -t \
+    | flat_top_5 \
     | indent "${indent_unit}"
 }
 
@@ -615,3 +605,26 @@ ssh_invalid_attempts_from() {
     | bar_gauge -v width="$(stty size | awk '{print $2}')" -v num=1 -v ch_right=' ' -v ch_left=' ' -v ch_blank=' ' \
     | column -t
 }
+
+loggers() {
+    awk '
+        {
+            split($5, prog, "[")
+            sub(":$", "", prog[1]) # if there were no [], than : will is left behind
+            print prog[1]
+        }' /var/log/syslog \
+    | awk '
+        {
+            n = split($1, path, "/")  # prog may be in path form
+            prog = path[n]
+            total++
+            count[prog]++
+        }
+
+        END {
+            for (prog in count)
+                print count[prog], total, prog
+        }' \
+    | bar_gauge -v num=1 -v ch_right=' ' -v ch_left=' ' -v ch_blank=' ' \
+    | column -t
+}
This page took 0.029052 seconds and 4 git commands to generate.