- Display/email reason for service restart/reload failure (if init script doesn't suppress error messages).
| | |
| | | return call_user_func(array($app->loaded_modules[$module_name],$function_name),$action); |
| | | } else { |
| | | $app->log("Unable to restart $service_name. Service not registered.",LOGLEVEL_WARNING); |
| | | return 0; |
| | | return array('output' => '', 'retval' => 0); |
| | | } |
| | | |
| | | } |
| | |
| | | $daemon = 'named'; |
| | | } |
| | | |
| | | $retval = array('output' => '', 'retval' => 0); |
| | | if($action == 'restart') { |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' restart', $output, $retval); |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' restart', $retval['output'], $retval['retval']); |
| | | } else { |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' reload', $output, $retval); |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' reload', $retval['output'], $retval['retval']); |
| | | } |
| | | return $retval; |
| | | } |
| | |
| | | $daemon = 'pdns'; |
| | | } |
| | | |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' restart', $output, $retval); |
| | | $retval = array('output' => '', 'retval' => 0); |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' restart', $retval['output'], $retval['retval']); |
| | | |
| | | // unset $tmps; |
| | | return $retval; |
| | |
| | | } |
| | | } |
| | | |
| | | $retval = array('output' => '', 'retval' => 0); |
| | | if($action == 'restart') { |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' restart', $output, $retval); |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' restart', $retval['output'], $retval['retval']); |
| | | } else { |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' reload', $output, $retval); |
| | | exec($conf['init_scripts'] . '/' . $daemon . ' reload', $retval['output'], $retval['retval']); |
| | | } |
| | | return $retval; |
| | | } |
| | |
| | | |
| | | if(!$init_script) $init_script = $conf['init_scripts'].'/'.$web_config['php_fpm_init_script']; |
| | | |
| | | exec($init_script.' '.$action, $output, $retval); |
| | | $retval = array('output' => '', 'retval' => 0); |
| | | exec($init_script.' '.$action, $retval['output'], $retval['retval']); |
| | | return $retval; |
| | | } |
| | | |
| | |
| | | $apache_online_status_before_restart = $this->_checkTcp('localhost',80); |
| | | $app->log('Apache status is: '.$apache_online_status_before_restart,LOGLEVEL_DEBUG); |
| | | |
| | | $retval = $app->services->restartService('httpd','restart'); // $retval is 0 on success and > 0 on failure |
| | | $app->log('Apache restart return value is: '.$retval,LOGLEVEL_DEBUG); |
| | | $retval = $app->services->restartService('httpd','restart'); // $retval['retval'] is 0 on success and > 0 on failure |
| | | $app->log('Apache restart return value is: '.$retval['retval'],LOGLEVEL_DEBUG); |
| | | |
| | | // wait a few seconds, before we test the apache status again |
| | | $apache_online_status_after_restart = false; |
| | |
| | | } |
| | | //* Check if apache restarted successfully if it was online before |
| | | $app->log('Apache online status after restart is: '.$apache_online_status_after_restart,LOGLEVEL_DEBUG); |
| | | if($apache_online_status_before_restart && !$apache_online_status_after_restart || $retval > 0) { |
| | | if($apache_online_status_before_restart && !$apache_online_status_after_restart || $retval['retval'] > 0) { |
| | | $app->log('Apache did not restart after the configuration change for website '.$data['new']['domain'].'. Reverting the configuration. Saved non-working config as '.$vhost_file.'.err',LOGLEVEL_WARN); |
| | | $app->system->copy($vhost_file,$vhost_file.'.err'); |
| | | if(is_array($retval['output']) && !empty($retval['output'])) $app->log('Reason for Apache restart failure: '.implode("\n", $retval['output']),LOGLEVEL_WARN); |
| | | if(is_file($vhost_file.'~')) { |
| | | //* Copy back the last backup file |
| | | $app->system->copy($vhost_file.'~',$vhost_file); |
| | |
| | | $nginx_online_status_before_restart = $this->_checkTcp('localhost',80); |
| | | $app->log('nginx status is: '.$nginx_online_status_before_restart,LOGLEVEL_DEBUG); |
| | | |
| | | $retval = $app->services->restartService('httpd','restart'); // $retval is 0 on success and > 0 on failure |
| | | $app->log('nginx restart return value is: '.$retval,LOGLEVEL_DEBUG); |
| | | $retval = $app->services->restartService('httpd','restart'); // $retval['retval'] is 0 on success and > 0 on failure |
| | | $app->log('nginx restart return value is: '.$retval['retval'],LOGLEVEL_DEBUG); |
| | | |
| | | // wait a few seconds, before we test the apache status again |
| | | sleep(2); |
| | |
| | | //* Check if nginx restarted successfully if it was online before |
| | | $nginx_online_status_after_restart = $this->_checkTcp('localhost',80); |
| | | $app->log('nginx online status after restart is: '.$nginx_online_status_after_restart,LOGLEVEL_DEBUG); |
| | | if($nginx_online_status_before_restart && !$nginx_online_status_after_restart || $retval > 0) { |
| | | if($nginx_online_status_before_restart && !$nginx_online_status_after_restart || $retval['retval'] > 0) { |
| | | $app->log('nginx did not restart after the configuration change for website '.$data['new']['domain'].'. Reverting the configuration. Saved non-working config as '.$vhost_file.'.err',LOGLEVEL_WARN); |
| | | $app->system->copy($vhost_file,$vhost_file.'.err'); |
| | | if(is_array($retval['output']) && !empty($retval['output'])) $app->log('Reason for nginx restart failure: '.implode("\n", $retval['output']),LOGLEVEL_WARN); |
| | | if(is_file($vhost_file.'~')) { |
| | | //* Copy back the last backup file |
| | | $app->system->copy($vhost_file.'~',$vhost_file); |