From 465e8bfa184780d5932b1c756d2d735942a522b8 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Wed, 23 Oct 2013 14:01:43 +0300 Subject: [PATCH] system reboot --- bin/v-list-sys-info | 11 ++-- bin/v-restart-system | 39 ++++++++++++ web/bulk/service/index.php | 9 +++ web/list/services/index.php | 3 + web/restart/system/index.php | 17 +++++ web/templates/admin/list_services.html | 86 +++++++++++++++++++++++++- 6 files changed, 157 insertions(+), 8 deletions(-) create mode 100755 bin/v-restart-system create mode 100644 web/restart/system/index.php diff --git a/bin/v-list-sys-info b/bin/v-list-sys-info index 51a94284e..4a32679d5 100755 --- a/bin/v-list-sys-info +++ b/bin/v-list-sys-info @@ -52,7 +52,7 @@ ARCH=$(arch) # Check uptime UPTIME=$(cat /proc/uptime |cut -f 1 -d ' '|cut -f 1 -d .) -UPTIME="$(echo $UPTIME / 3600 | bc)" +UPTIME="$(echo $UPTIME / 60 | bc)" # Check LoadAverage LOADAVERAGE=$(cat /proc/loadavg |cut -f 1 -d ' ') @@ -61,21 +61,22 @@ LOADAVERAGE=$(cat /proc/loadavg |cut -f 1 -d ' ') tmp_file=$(mktemp) # Define key/value pairs -str="HOSTNAME='$HOSTNAME' OS='$OS' VERSION='$VERSION' ARCH='$ARCH'" -str="$str UPTIME='$UPTIME' LOADAVERAGE='$LOADAVERAGE'" +str="SYS='sysinfo' HOSTNAME='$HOSTNAME' OS='$OS' VERSION='$VERSION'" +str="$str ARCH='$ARCH' UPTIME='$UPTIME' LOADAVERAGE='$LOADAVERAGE'" # Defining config echo -e "$str" > $tmp_file conf=$tmp_file # Defining fileds to select -fields="\$HOSTNAME \$OS \$VERSION \$ARCH \$UPTIME \$LOADAVERAGE" +fields="\$SYS \$HOSTNAME \$OS \$VERSION \$ARCH \$UPTIME \$LOADAVERAGE" # Listing services case $format in json) json_list ;; plain) nohead=1; shell_list ;; - shell) shell_list | column -t ;; + shell) fields="\$HOSTNAME \$OS \$VERSION \$ARCH \$UPTIME \$LOADAVERAGE" + shell_list | column -t ;; *) check_args '1' '0' 'USER [FORMAT]' esac diff --git a/bin/v-restart-system b/bin/v-restart-system new file mode 100755 index 000000000..209794a7a --- /dev/null +++ b/bin/v-restart-system @@ -0,0 +1,39 @@ +#!/bin/bash +# info: restart operating system +# options: restart +# +# The function restarts operating system. + + +#----------------------------------------------------------# +# Variable&Function # +#----------------------------------------------------------# + +# Argument defenition +restart=$1 + +# Includes +source $VESTA/func/main.sh + + +#----------------------------------------------------------# +# Verifications # +#----------------------------------------------------------# + +check_args '1' "$#" 'RESTART' + + +#----------------------------------------------------------# +# Action # +#----------------------------------------------------------# + +if [ "$restart" = 'yes' ]; then + /sbin/reboot +fi + + +#----------------------------------------------------------# +# Vesta # +#----------------------------------------------------------# + +exit diff --git a/web/bulk/service/index.php b/web/bulk/service/index.php index 395504982..1636fba20 100644 --- a/web/bulk/service/index.php +++ b/web/bulk/service/index.php @@ -19,6 +19,15 @@ if ($_SESSION['user'] == 'admin') { break; default: header("Location: /list/services/"); exit; } + + if ((!empty($_POST['system'])) && ($action == 'restart')) { + exec (VESTA_CMD."v-restart-system yes", $output, $return_var); + $_SESSION['error_srv'] = 'The system is going down for reboot NOW!'; + unset($output); + header("Location: /list/services/"); + exit; + } + foreach ($service as $value) { $value = escapeshellarg($value); exec (VESTA_CMD.$cmd." ".$value, $output, $return_var); diff --git a/web/list/services/index.php b/web/list/services/index.php index be2b7f20b..6b5fa091a 100644 --- a/web/list/services/index.php +++ b/web/list/services/index.php @@ -13,6 +13,9 @@ top_panel($user,$TAB); // Data if ($_SESSION['user'] == 'admin') { + exec (VESTA_CMD."v-list-sys-info json", $output, $return_var); + $sys = json_decode(implode('', $output), true); + unset($output); exec (VESTA_CMD."v-list-sys-services json", $output, $return_var); $data = json_decode(implode('', $output), true); unset($output); diff --git a/web/restart/system/index.php b/web/restart/system/index.php new file mode 100644 index 000000000..2ef5c1850 --- /dev/null +++ b/web/restart/system/index.php @@ -0,0 +1,17 @@ + -
+

@@ -50,6 +50,86 @@
+ + + + + + $value) { @@ -107,7 +187,7 @@ -
+ + + +
+
+ + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + : + + + + + + () + +
+
+ + + + + +
+ : + + +
+
+ + + + + +
+ +
+
+ + + + + +
+ : + + +
+
+
-
+ : @@ -128,7 +208,7 @@
+