Anonim / 5 years, 5 months ago | Download | Plaintext | Odpowiedz |

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/env tclsh
	 
# * Variables
set var(user) $env(USER)
set var(path) $env(PWD)
set var(home) $env(HOME)
	 
# * Check if we're somewhere in /home
#if {![string match -nocase "/home*" $var(path)]} {

if {![string match -nocase "/home*" $var(path)] && ![string match -nocase "/usr/home*" $var(path)] } {
	  return 0
	}
	 
# * Calculate last login
set lastlog [exec -- lastlog -u $var(user)]
set ll(1)  [lindex $lastlog 7]
set ll(2)  [lindex $lastlog 8]
set ll(3)  [lindex $lastlog 9]
set ll(4)  [lindex $lastlog 10]
set ll(5)  [lindex $lastlog 6]
	 
# * Calculate current system uptime
set uptime    [exec -- /usr/bin/cut -d. -f1 /proc/uptime]
set up(days)  [expr {$uptime/60/60/24}]
set up(hours) [expr {$uptime/60/60%24}]
set up(mins)  [expr {$uptime/60%60}]
set up(secs)  [expr {$uptime%60}]
	 
# * Calculate usage of home directory
set usage [lindex [exec -- /usr/bin/du -ms $var(home)] 0]
	 
# * Calculate SSH logins:
set logins     [exec -- w -s]
set log(c)  [lindex $logins 3]
	 
# * Calculate processes
set psu [lindex [exec -- ps U $var(user) h | wc -l] 0]
set psa [lindex [exec -- ps -A h | wc -l] 0]
	 
# * Calculate current system load
set loadavg     [exec -- /bin/cat /proc/loadavg]
set sysload(1)  [lindex $loadavg 0]
set sysload(5)  [lindex $loadavg 1]
set sysload(15) [lindex $loadavg 2]
	 
# * Calculate Memory
set memory  [exec -- free -m]
set mem(t)  [lindex $memory 7]
set mem(u)  [lindex $memory 8]
set mem(f)  [lindex $memory 9]
set mem(c)  [lindex $memory 16]
set mem(s)  [lindex $memory 19]
	 
# * Calculate disk temperature from hddtemp
set hddtemp [exec nc localhost 7634 | cut -c "33-34"]
	 
# * Calculate temperature from lm-sensors
set temperature    [exec -- sensors | grep temp]
set tem(0)  [lindex $temperature 1]
	 
# * ascii head
set head {
{logo}
}
	 
# * Print Results
puts "\\033\\[01;32m$head\\033\\[0m"
puts "  Ostatnie logowanie    : $ll(1) $ll(2) $ll(3) $ll(4) z $ll(5)"
puts "  Czas pracy serwera    : $up(days) dni $up(hours) godzin $up(mins) minut $up(secs) sekund"
puts "  Obciazenie systemu    : $sysload(1) (1min) $sysload(5) (5min) $sysload(15) (15min)"
puts "  Wykorzystanie pamieci : Uzywana: $mem(f)/$mem(t)MB Swap: $mem(s)MB"
puts "  Temperatura serwera   : System: $tem(0), Dysk: +$hddtemp\.0C"
puts "  Uzycie dysku          : Wykorzystujesz aktualnie ${usage}MB w $var(home)"
puts "  Sesje SSH             : Aktualnie mamy $log(c) zalogowanych uzytkownikow."
puts "  Procesy               : Masz uruchomionych ${psu} ze ${psa} w systemie"
puts " \\033\\[01;32m :::::::::::::::::::::::::::::::::-UWAGA-:::::::::::::::::::::::::::::::::"
puts "       Udostepnianie kont