| | |
| | | * stop a service, a admin stopped some days before! To avoid this, we ignore |
| | | * the status (it is only for the interface to show) and use our own maxid |
| | | */ |
| | | include_once (dirname(__FILE__) . "/../lib/remote_action.inc.php"); |
| | | include_once (SCRIPT_PATH."/lib/remote_action.inc.php"); |
| | | |
| | | /* |
| | | * Get all actions this server should execute |
| | |
| | | * we stop executing the actions not to waste more time */ |
| | | return; |
| | | } |
| | | if ($action['action_type'] == 'openvz_start_vm') { |
| | | $veid = intval($action['action_param']); |
| | | if($veid > 0) { |
| | | exec("vzctl start $veid"); |
| | | } |
| | | $this->_actionDone($action['action_id'], 'ok'); |
| | | } |
| | | if ($action['action_type'] == 'openvz_stop_vm') { |
| | | $veid = intval($action['action_param']); |
| | | if($veid > 0) { |
| | | exec("vzctl stop $veid"); |
| | | } |
| | | $this->_actionDone($action['action_id'], 'ok'); |
| | | } |
| | | if ($action['action_type'] == 'openvz_restart_vm') { |
| | | $veid = intval($action['action_param']); |
| | | if($veid > 0) { |
| | | exec("vzctl restart $veid"); |
| | | } |
| | | $this->_actionDone($action['action_id'], 'ok'); |
| | | } |
| | | if ($action['action_type'] == 'openvz_create_ostpl') { |
| | | $parts = explode(':',$action['action_param']); |
| | | $veid = intval($parts[0]); |
| | | $template_cache_dir = '/vz/template/cache/'; |
| | | $template_name = escapeshellcmd($parts[1]); |
| | | if($veid > 0 && $template_name != '' && is_dir($template_cache_dir)) { |
| | | $command = "vzdump --suspend --compress --stdexcludes --dumpdir $template_cache_dir $veid"; |
| | | exec($command); |
| | | exec("mv ".$template_cache_dir."vzdump-openvz-".$veid."*.tgz ".$template_cache_dir.$template_name.".tar.gz"); |
| | | exec("rm -f ".$template_cache_dir."vzdump-openvz-".$veid."*.log"); |
| | | } |
| | | $this->_actionDone($action['action_id'], 'ok'); |
| | | /* this action takes so much time, |
| | | * we stop executing the actions not to waste more time */ |
| | | return; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | //$this->_actionDone($action['action_id'], 'ok'); |
| | | } |
| | | } |
| | | ?> |
| | | ?> |