mirror of
https://github.com/serghey-rodin/vesta.git
synced 2025-08-14 10:37:39 -07:00
service manager
This commit is contained in:
parent
a3f9c8f648
commit
fc80b0949a
19 changed files with 471 additions and 83 deletions
|
@ -39,16 +39,15 @@ get_srv_state() {
|
|||
# Get pid date
|
||||
if [ ! -z $pid ] && [ -e "/proc/$pid/cmdline" ]; then
|
||||
mtime=$(stat -c "%Y" /proc/$pid/cmdline)
|
||||
ptime=$(date -d @$mtime +%T)
|
||||
pdate=$(date -d @$mtime +%F)
|
||||
rtime=$((ctime - mtime))
|
||||
rtime=$((rtime / 60))
|
||||
fi
|
||||
else
|
||||
# Service is stopped
|
||||
state='stopped'
|
||||
mem=0
|
||||
cpu=0
|
||||
ptime="$TIME"
|
||||
pdate="$DATE"
|
||||
rtime="0"
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -59,139 +58,123 @@ get_srv_state() {
|
|||
|
||||
# Save current proccess list
|
||||
tmp_file=$(mktemp)
|
||||
ps aux | awk '{print $2" "$3}' | cut -f 1 -d '.' > $tmp_file
|
||||
if [ "$format" = 'json' ]; then
|
||||
ps aux | awk '{print $2" "$3}' | tr -d '.' > $tmp_file
|
||||
else
|
||||
ps aux | awk '{print $2" "$3}' | cut -f 1 -d '.' > $tmp_file
|
||||
fi
|
||||
|
||||
# Get current time
|
||||
ctime=$(date +%s)
|
||||
|
||||
# Proxy
|
||||
service=$PROXY_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
get_srv_state $service
|
||||
str="NAME='$service' SYSTEM='reverse proxy' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="NAME='$service' SYSTEM='proxy' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# Web
|
||||
service=$WEB_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
if [ "$service" == 'apache' ]; then
|
||||
service='httpd'
|
||||
fi
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='web server' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' RTIME='$rtime'"
|
||||
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='web' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# DNS
|
||||
service=$DNS_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
if [ "$service" == 'bind' ]; then
|
||||
service='named'
|
||||
fi
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='dns server' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='dns' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# MAIL
|
||||
service=$MAIL_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='mail server' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='mail' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# IMAP
|
||||
service=$IMAP_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='pop/imap server' STATE='$state'"
|
||||
str="$str CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='imap' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# ANTIVIRUS
|
||||
service=$ANTIVIRUS_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
if [ "$ANTIVIRUS_SYSTEM" = 'clamav' ]; then
|
||||
service='clamd'
|
||||
fi
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='email antivirus' STATE='$state'"
|
||||
str="$str CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='antivirus' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# ANTISPAM
|
||||
service=$ANTISPAM_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
get_srv_state $service spamd
|
||||
str="$str\nNAME='$service' SYSTEM='email antispam' STATE='$state'"
|
||||
str="$str CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='antispam' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# DB
|
||||
service=$DB_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
for db in ${DB_SYSTEM//,/ }; do
|
||||
service="$db"
|
||||
if [ "$service" == 'mysql' ] && [ ! -e "/etc/init.d/$service" ]; then
|
||||
service='mysqld'
|
||||
fi
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='db' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
str="$str\nNAME='$service' SYSTEM='database server' STATE='$state'"
|
||||
str="$str CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
done
|
||||
else
|
||||
str="$str\nNAME='$service' SYSTEM='db' STATE='$state' CPU='$cpu''"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
fi
|
||||
|
||||
# FTP
|
||||
service=$FTP_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='ftp server' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='ftp' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# CRON
|
||||
service=$CRON_SYSTEM
|
||||
spnd='yes'
|
||||
if [ ! -z "$service" ] && [ "$service" != 'no' ]; then
|
||||
spnd='no'
|
||||
get_srv_state $service
|
||||
str="$str\nNAME='$service' SYSTEM='job scheduler' STATE='$state'"
|
||||
str="$str CPU='$cpu' MEM='$mem' RTIME='$rtime'"
|
||||
fi
|
||||
str="$str\nNAME='$service' SYSTEM='ftp' STATE='$state' CPU='$cpu'"
|
||||
str="$str MEM='$mem' SUSPENDED='$spnd' TIME='$ptime' DATE='$pdate'"
|
||||
|
||||
# Defining config
|
||||
|
||||
echo -e "$str" > $tmp_file
|
||||
conf=$tmp_file
|
||||
|
||||
# Defining fileds to select
|
||||
fields="\$NAME \$SYSTEM \$STATE \$CPU \$MEM \$SUSPENDED \$TIME \$DATE"
|
||||
fields="\$NAME \$SYSTEM \$STATE \$CPU \$MEM \$RTIME"
|
||||
|
||||
# Listing services
|
||||
case $format in
|
||||
json) json_list ;;
|
||||
plain) nohead=1; shell_list ;;
|
||||
shell) fields='$NAME $STATE $CPU $MEM $SUSPENDED $TIME $DATE'
|
||||
shell) fields='$NAME $STATE $CPU $MEM $RTIME'
|
||||
shell_list | column -t ;;
|
||||
*) check_args '1' '0' 'USER [FORMAT]'
|
||||
esac
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
EVENT=${1-$EVENT}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
@ -21,11 +20,10 @@ EVENT=${1-$EVENT}
|
|||
|
||||
# Parsing config / or just source config
|
||||
if [ "$CRON_SYSTEM" = 'crond' ]; then
|
||||
/etc/init.d/crond 'reload' &>/dev/null
|
||||
/etc/init.d/crond 'reload' >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
/etc/init.d/crond 'restart' &>/dev/null
|
||||
/etc/init.d/crond 'restart' >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -12,18 +12,17 @@
|
|||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
EVENT=${1-$EVENT}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ "$DNS_SYSTEM" = 'bind' ]; then
|
||||
/etc/init.d/named reload &>/dev/null
|
||||
/etc/init.d/named reload >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
/etc/init.d/named restart &>/dev/null
|
||||
/etc/init.d/named restart >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -12,18 +12,17 @@
|
|||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
EVENT=${1-$EVENT}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ "$MAIL_SYSTEM" = 'exim' ]; then
|
||||
/etc/init.d/exim reload &>/dev/null
|
||||
/etc/init.d/exim reload >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
/etc/init.d/exim restart &>/dev/null
|
||||
/etc/init.d/exim restart >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
|
42
bin/v-restart-service
Executable file
42
bin/v-restart-service
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
# info: restart service
|
||||
# options: service
|
||||
#
|
||||
# The function restarts system service.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
service=$1
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'SERVICE'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ -x "/etc/init.d/$service" ]; then
|
||||
/etc/init.d/$service restart >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
|
@ -1,8 +1,8 @@
|
|||
#!/bin/bash
|
||||
# info: restart dns service
|
||||
# info: restart web services
|
||||
# options: NONE
|
||||
#
|
||||
# The function tells BIND service to reload dns zone files.
|
||||
# The function reloads web server configuration.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
|
@ -12,41 +12,37 @@
|
|||
# Includes
|
||||
source $VESTA/conf/vesta.conf
|
||||
source $VESTA/func/main.sh
|
||||
EVENT=${1-$EVENT}
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ "$WEB_SYSTEM" = 'apache' ]; then
|
||||
/etc/init.d/httpd status &>/dev/null
|
||||
/etc/init.d/httpd status >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
/etc/init.d/httpd graceful &>/dev/null
|
||||
/etc/init.d/httpd graceful >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
else
|
||||
/etc/init.d/httpd start &>/dev/null
|
||||
/etc/init.d/httpd start >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$PROXY_SYSTEM" = 'nginx' ]; then
|
||||
/etc/init.d/nginx status &>/dev/null
|
||||
/etc/init.d/nginx status >/dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
/etc/init.d/nginx reload &>/dev/null
|
||||
/etc/init.d/nginx reload >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
else
|
||||
/etc/init.d/nginx start &>/dev/null
|
||||
/etc/init.d/nginx start >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_event "$E_RESTART" "$EVENT"
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
|
42
bin/v-start-service
Executable file
42
bin/v-start-service
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
# info: start service
|
||||
# options: service
|
||||
#
|
||||
# The function starts system service.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
service=$1
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'SERVICE'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ -x "/etc/init.d/$service" ]; then
|
||||
/etc/init.d/$service start >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
42
bin/v-stop-service
Executable file
42
bin/v-stop-service
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
# info: stop service
|
||||
# options: service
|
||||
#
|
||||
# The function stops system service.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Argument defenition
|
||||
service=$1
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Verifications #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'SERVICE'
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ -x "/etc/init.d/$service" ]; then
|
||||
/etc/init.d/$service stop >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
exit $E_RESTART
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
exit
|
28
web/bulk/service/index.php
Normal file
28
web/bulk/service/index.php
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
$service = $_POST['service'];
|
||||
$action = $_POST['action'];
|
||||
|
||||
if ($_SESSION['user'] == 'admin') {
|
||||
switch ($action) {
|
||||
case 'stop': $cmd='v-stop-service';
|
||||
break;
|
||||
case 'start': $cmd='v-start-service';
|
||||
break;
|
||||
case 'restart': $cmd='v-restart-service';
|
||||
break;
|
||||
default: header("Location: /list/services/"); exit;
|
||||
}
|
||||
foreach ($service as $value) {
|
||||
$value = escapeshellarg($value);
|
||||
exec (VESTA_CMD.$cmd." ".$value, $output, $return_var);
|
||||
}
|
||||
}
|
||||
|
||||
header("Location: /list/services/");
|
BIN
web/images/start.png
Normal file
BIN
web/images/start.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 208 B |
BIN
web/images/stop.png
Normal file
BIN
web/images/stop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 B |
|
@ -44,10 +44,28 @@ function top_panel($user, $TAB) {
|
|||
function humanize_time($usage) {
|
||||
if ( $usage > 60 ) {
|
||||
$usage = $usage / 60;
|
||||
$usage = number_format($usage, 2);
|
||||
$usage = $usage." Hour.";
|
||||
if ( $usage > 24 ) {
|
||||
$usage = $usage / 24;
|
||||
$usage = number_format($usage, 0);
|
||||
if ( $usage == 1 ) {
|
||||
$usage = $usage." day";
|
||||
} else {
|
||||
$usage = $usage." days";
|
||||
}
|
||||
} else {
|
||||
$usage = number_format($usage, 0);
|
||||
if ( $usage == 1 ) {
|
||||
$usage = $usage." hour";
|
||||
} else {
|
||||
$usage = $usage." hours";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$usage = $usage." Min.";
|
||||
if ( $usage == 1 ) {
|
||||
$usage = $usage." minute";
|
||||
} else {
|
||||
$usage = $usage." minutes";
|
||||
}
|
||||
}
|
||||
return $usage;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ VE.callbacks.click.do_suspend = function(evt, elm) {
|
|||
var ref = elm.hasClass('data-controls') ? elm : elm.parents('.data-controls');
|
||||
var url = $('input[name="suspend_url"]', ref).val();
|
||||
var dialog_elm = ref.find('.confirmation-text-suspention');
|
||||
VE.helpers.createConfirmationDialog(dialog_elm, 'Confirm SUSPEND', url);
|
||||
VE.helpers.createConfirmationDialog(dialog_elm, 'Confirm action', url);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -70,7 +70,7 @@ VE.callbacks.click.do_unsuspend = function(evt, elm) {
|
|||
var ref = elm.hasClass('data-controls') ? elm : elm.parents('.data-controls');
|
||||
var url = $('input[name="unsuspend_url"]', ref).val();
|
||||
var dialog_elm = ref.find('.confirmation-text-suspention');
|
||||
VE.helpers.createConfirmationDialog(dialog_elm, 'Confirm UNSUSPEND', url);
|
||||
VE.helpers.createConfirmationDialog(dialog_elm, 'Confirm action', url);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -80,7 +80,7 @@ VE.callbacks.click.do_delete = function(evt, elm) {
|
|||
var ref = elm.hasClass('data-controls') ? elm : elm.parents('.data-controls');
|
||||
var url = $('input[name="delete_url"]', ref).val();
|
||||
var dialog_elm = ref.find('.confirmation-text-delete');
|
||||
VE.helpers.createConfirmationDialog(dialog_elm, 'Confirm DELETE', url);
|
||||
VE.helpers.createConfirmationDialog(dialog_elm, 'Confirm action', url);
|
||||
}
|
||||
|
||||
|
||||
|
|
23
web/list/services/index.php
Normal file
23
web/list/services/index.php
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
session_start();
|
||||
$TAB = 'SERVICES';
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
// Header
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
||||
|
||||
// Panel
|
||||
top_panel($user,$TAB);
|
||||
|
||||
// Data
|
||||
if ($_SESSION['user'] == 'admin') {
|
||||
exec (VESTA_CMD."v-list-sys-services json", $output, $return_var);
|
||||
$data = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_services.html');
|
||||
}
|
||||
|
||||
// Footer
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
22
web/restart/service/index.php
Normal file
22
web/restart/service/index.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
if ($_SESSION['user'] == 'admin') {
|
||||
if (!empty($_GET['srv'])) {
|
||||
$v_service = escapeshellarg($_GET['srv']);
|
||||
exec (VESTA_CMD."v-restart-service ".$v_service, $output, $return_var);
|
||||
}
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: service '.$v_service.' restart failed';
|
||||
$_SESSION['error_srv'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
|
||||
header("Location: /list/services/");
|
||||
exit;
|
22
web/start/service/index.php
Normal file
22
web/start/service/index.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
if ($_SESSION['user'] == 'admin') {
|
||||
if (!empty($_GET['srv'])) {
|
||||
$v_service = escapeshellarg($_GET['srv']);
|
||||
exec (VESTA_CMD."v-start-service ".$v_service, $output, $return_var);
|
||||
}
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: service '.$v_service.' start failed';
|
||||
$_SESSION['error_srv'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
|
||||
header("Location: /list/services/");
|
||||
exit;
|
22
web/stop/service/index.php
Normal file
22
web/stop/service/index.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
ob_start();
|
||||
session_start();
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
if ($_SESSION['user'] == 'admin') {
|
||||
if (!empty($_GET['srv'])) {
|
||||
$v_service = escapeshellarg($_GET['srv']);
|
||||
exec (VESTA_CMD."v-stop-service ".$v_service, $output, $return_var);
|
||||
}
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = 'Error: service '.$v_service.' stop failed';
|
||||
$_SESSION['error_srv'] = $error;
|
||||
}
|
||||
unset($output);
|
||||
}
|
||||
|
||||
header("Location: /list/services/");
|
||||
exit;
|
152
web/templates/admin/list_services.html
Normal file
152
web/templates/admin/list_services.html
Normal file
|
@ -0,0 +1,152 @@
|
|||
|
||||
<table class="sub-menu" style="background: white;">
|
||||
<tr>
|
||||
<td style="padding: 12px 0 8px 6px">
|
||||
<div style="text-align: right; float: right;">
|
||||
<form action="/search/" method="get" >
|
||||
<input type="text" name="q" style="margin: 2px 2px 0px 0px; width: 250px; padding: 3px;" size="30">
|
||||
<input type="submit" value="Search" class="button" style="font-size: 12px; height: 24px;">
|
||||
</form>
|
||||
</div>
|
||||
<div style="float:left; padding-left: 0px;">
|
||||
<form action="/bulk/service/" method="post" id="objects">
|
||||
<a style="padding: 0 4px 0 12px" class="select-controls" href='javascript:checkedAll("objects");'> toggle all </a>
|
||||
<select style="margin:0 2px 0 0px;" name="action">
|
||||
<option>apply to selected</option>
|
||||
<option>stop</option>
|
||||
<option>start</option>
|
||||
<option>restart</option>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="›" class="button" style="width: 37px; font-size: 12px; height: 24px;">
|
||||
</div>
|
||||
<?php
|
||||
if (!empty($_SESSION['error_srv'])) {
|
||||
?>
|
||||
<div>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$( "#dialog:ui-dialog" ).dialog( "destroy" );
|
||||
$( "#dialog-message" ).dialog({
|
||||
modal: true,
|
||||
buttons: {
|
||||
Ok: function() {
|
||||
$( this ).dialog( "close" );
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="dialog-message" title="Error">
|
||||
<p><?php echo $_SESSION['error_srv'] ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
unset($_SESSION['error_srv']);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div id="vstobjects">
|
||||
<table class='data'>
|
||||
|
||||
<?php
|
||||
foreach ($data as $key => $value) {
|
||||
++$i;
|
||||
if ($data[$key]['STATE'] == 'running') {
|
||||
$status = 'active';
|
||||
$action = 'stop';
|
||||
} else {
|
||||
$status = 'suspended';
|
||||
$action = 'start';
|
||||
}
|
||||
|
||||
$cpu = $data[$key]['CPU'] / 10;
|
||||
$cpu = number_format($cpu, 1);
|
||||
if ($cpu == '0.0') $cpu = 0;
|
||||
?>
|
||||
|
||||
<tr class="data-row">
|
||||
<td class="data-dotted" style="padding: 0px 10px 0px 0px" width="150">
|
||||
<table class="data-col1">
|
||||
<tr><td style="padding: 18 0 4 18;"><input type="checkbox" name="service[]" value="<?php echo $key ?>" ></td></tr>
|
||||
<tr><td class="data-<?php echo $status ?>"><b><?php echo $data[$key]['STATE'] ?></b></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="data-dotted" width="830px" style="vertical-align:top;">
|
||||
<table width="830px">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="data-controls" width="68px"><a href="/restart/service/?srv=<?php echo $key ?>"><img src="/images/reload.png" width="6px" height="7px"> restart</a></td>
|
||||
<td class="data-controls" width="48px"><a href="/<?php echo $action ?>/service/?srv=<?php echo $key ?>"><img src="/images/<?php echo $action ?>.png" width="7px" height="7px"> <?php echo $action ?></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="data-col2" width="830px">
|
||||
<tr>
|
||||
<td colspan=4 class="domain" style="padding: 0 0 0 4px;">
|
||||
<b><?php echo $key ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="vertical-align:top;" width="200px">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name" style="padding: 2px 0 0 0">
|
||||
<?php echo $data[$key]['SYSTEM'] ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="150px">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
CPU:
|
||||
</td>
|
||||
<td>
|
||||
<a class="counter-value"> <?php echo $cpu ?>%</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" width="180px">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Memory:
|
||||
</td>
|
||||
<td>
|
||||
<a class="counter-value"><?php echo $data[$key]['MEM'] ?> mb</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="vertical-align:top;" >
|
||||
<table>
|
||||
<tr>
|
||||
<td class="counter-name">
|
||||
Run Time:
|
||||
</td>
|
||||
<td>
|
||||
<a class="counter-value"><?php echo humanize_time($data[$key]['RTIME']) ?> </a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</div>
|
|
@ -311,7 +311,7 @@
|
|||
.data-suspended {
|
||||
font-size: 8pt;
|
||||
letter-spacing: 0.1em;
|
||||
color: #de6c5d;
|
||||
color: #de5543;
|
||||
padding: 0 0 13 18;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue