@@ -39,16 +39,15 @@ get_srv_state() {
3939 # Get pid date
4040 if [ ! -z $pid ] && [ -e " /proc/$pid /cmdline" ]; then
4141 mtime=$( stat -c " %Y" /proc/$pid /cmdline)
42- ptime =$( date -d @ $ mtime +%T )
43- pdate =$( date -d @ $mtime +%F )
42+ rtime =$(( ctime - mtime) )
43+ rtime =$(( rtime / 60 ) )
4444 fi
4545 else
4646 # Service is stopped
4747 state=' stopped'
4848 mem=0
4949 cpu=0
50- ptime=" $TIME "
51- pdate=" $DATE "
50+ rtime=" 0"
5251 fi
5352}
5453
@@ -59,139 +58,123 @@ get_srv_state() {
5958
6059# Save current proccess list
6160tmp_file=$( mktemp)
62- ps aux | awk ' {print $2" "$3}' | cut -f 1 -d ' .' > $tmp_file
61+ if [ " $format " = ' json' ]; then
62+ ps aux | awk ' {print $2" "$3}' | tr -d ' .' > $tmp_file
63+ else
64+ ps aux | awk ' {print $2" "$3}' | cut -f 1 -d ' .' > $tmp_file
65+ fi
66+
67+ # Get current time
68+ ctime=$( date +%s)
6369
6470# Proxy
6571service=$PROXY_SYSTEM
66- spnd=' yes'
6772if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
68- spnd=' no'
6973 get_srv_state $service
74+ str=" NAME='$service ' SYSTEM='reverse proxy' STATE='$state ' CPU='$cpu '"
75+ str=" $str MEM='$mem ' RTIME='$rtime '"
7076fi
71- str=" NAME='$service ' SYSTEM='proxy' STATE='$state ' CPU='$cpu '"
72- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
7377
7478# Web
7579service=$WEB_SYSTEM
76- spnd=' yes'
7780if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
78- spnd=' no'
7981 if [ " $service " == ' apache' ]; then
8082 service=' httpd'
8183 fi
8284 get_srv_state $service
85+ str=" $str \nNAME='$service ' SYSTEM='web server' STATE='$state ' CPU='$cpu '"
86+ str=" $str MEM='$mem ' RTIME='$rtime '"
87+
8388fi
84- str=" $str \nNAME='$service ' SYSTEM='web' STATE='$state ' CPU='$cpu '"
85- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
8689
8790# DNS
8891service=$DNS_SYSTEM
89- spnd=' yes'
9092if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
91- spnd=' no'
9293 if [ " $service " == ' bind' ]; then
9394 service=' named'
9495 fi
9596 get_srv_state $service
97+ str=" $str \nNAME='$service ' SYSTEM='dns server' STATE='$state ' CPU='$cpu '"
98+ str=" $str MEM='$mem ' RTIME='$rtime '"
9699fi
97- str=" $str \nNAME='$service ' SYSTEM='dns' STATE='$state ' CPU='$cpu '"
98- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
99100
100101# MAIL
101102service=$MAIL_SYSTEM
102- spnd=' yes'
103103if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
104- spnd=' no'
105104 get_srv_state $service
105+ str=" $str \nNAME='$service ' SYSTEM='mail server' STATE='$state ' CPU='$cpu '"
106+ str=" $str MEM='$mem ' RTIME='$rtime '"
106107fi
107- str=" $str \nNAME='$service ' SYSTEM='mail' STATE='$state ' CPU='$cpu '"
108- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
109108
110109# IMAP
111110service=$IMAP_SYSTEM
112- spnd=' yes'
113111if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
114- spnd=' no'
115112 get_srv_state $service
113+ str=" $str \nNAME='$service ' SYSTEM='pop/imap server' STATE='$state '"
114+ str=" $str CPU='$cpu ' MEM='$mem ' RTIME='$rtime '"
116115fi
117- str=" $str \nNAME='$service ' SYSTEM='imap' STATE='$state ' CPU='$cpu '"
118- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
119116
120117# ANTIVIRUS
121118service=$ANTIVIRUS_SYSTEM
122- spnd=' yes'
123119if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
124- spnd=' no'
125120 if [ " $ANTIVIRUS_SYSTEM " = ' clamav' ]; then
126121 service=' clamd'
127122 fi
128123 get_srv_state $service
124+ str=" $str \nNAME='$service ' SYSTEM='email antivirus' STATE='$state '"
125+ str=" $str CPU='$cpu ' MEM='$mem ' RTIME='$rtime '"
129126fi
130- str=" $str \nNAME='$service ' SYSTEM='antivirus' STATE='$state ' CPU='$cpu '"
131- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
132127
133128# ANTISPAM
134129service=$ANTISPAM_SYSTEM
135- spnd=' yes'
136130if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
137- spnd=' no'
138131 get_srv_state $service spamd
132+ str=" $str \nNAME='$service ' SYSTEM='email antispam' STATE='$state '"
133+ str=" $str CPU='$cpu ' MEM='$mem ' RTIME='$rtime '"
139134fi
140- str=" $str \nNAME='$service ' SYSTEM='antispam' STATE='$state ' CPU='$cpu '"
141- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
142135
143136# DB
144137service=$DB_SYSTEM
145- spnd=' yes'
146138if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
147- spnd=' no'
148139 for db in ${DB_SYSTEM// ,/ } ; do
149140 service=" $db "
150141 if [ " $service " == ' mysql' ] && [ ! -e " /etc/init.d/$service " ]; then
151142 service=' mysqld'
152143 fi
153144 get_srv_state $service
154- str=" $str \nNAME='$service ' SYSTEM='db ' STATE='$state ' CPU=' $cpu '"
155- str=" $str MEM ='$mem ' SUSPENDED ='$spnd ' TIME ='$ptime ' DATE=' $pdate '"
145+ str=" $str \nNAME='$service ' SYSTEM='database server ' STATE='$state '"
146+ str=" $str CPU ='$cpu ' MEM ='$mem ' RTIME ='$rtime '"
156147 done
157- else
158- str=" $str \nNAME='$service ' SYSTEM='db' STATE='$state ' CPU='$cpu ''"
159- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
160148fi
161149
162150# FTP
163151service=$FTP_SYSTEM
164- spnd=' yes'
165152if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
166- spnd=' no'
167153 get_srv_state $service
154+ str=" $str \nNAME='$service ' SYSTEM='ftp server' STATE='$state ' CPU='$cpu '"
155+ str=" $str MEM='$mem ' RTIME='$rtime '"
168156fi
169- str=" $str \nNAME='$service ' SYSTEM='ftp' STATE='$state ' CPU='$cpu '"
170- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
171157
172158# CRON
173159service=$CRON_SYSTEM
174- spnd=' yes'
175160if [ ! -z " $service " ] && [ " $service " != ' no' ]; then
176- spnd=' no'
177161 get_srv_state $service
162+ str=" $str \nNAME='$service ' SYSTEM='job scheduler' STATE='$state '"
163+ str=" $str CPU='$cpu ' MEM='$mem ' RTIME='$rtime '"
178164fi
179- str=" $str \nNAME='$service ' SYSTEM='ftp' STATE='$state ' CPU='$cpu '"
180- str=" $str MEM='$mem ' SUSPENDED='$spnd ' TIME='$ptime ' DATE='$pdate '"
181165
182166# Defining config
183-
184167echo -e " $str " > $tmp_file
185168conf=$tmp_file
186169
187170# Defining fileds to select
188- fields=" \$ NAME \$ SYSTEM \$ STATE \$ CPU \$ MEM \$ SUSPENDED \$ TIME \$ DATE "
171+ fields=" \$ NAME \$ SYSTEM \$ STATE \$ CPU \$ MEM \$ RTIME "
189172
190173# Listing services
191174case $format in
192175 json) json_list ;;
193176 plain) nohead=1; shell_list ;;
194- shell) fields=' $NAME $STATE $CPU $MEM $SUSPENDED $TIME $DATE '
177+ shell) fields=' $NAME $STATE $CPU $MEM $RTIME '
195178 shell_list | column -t ;;
196179 * ) check_args ' 1' ' 0' ' USER [FORMAT]'
197180esac
0 commit comments