system.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. if (!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404'));
  4. if ($go) {
  5. $sql->query('SELECT `address`, `passwd` FROM `panel` LIMIT 1');
  6. $unit = $sql->get();
  7. include(LIB . 'ssh.php');
  8. if (isset($url['service']) and in_array($url['service'], array('apache2', 'nginx', 'mysql', 'unit'))) {
  9. if (!$ssh->auth($unit['passwd'], $unit['address']))
  10. sys::outjs(array('e' => 'Не удалось создать связь с сервером'));
  11. if ($url['service'] == 'unit')
  12. $ssh->set('screen -dmS reboot reboot');
  13. else
  14. $ssh->set('screen -dmS sr_' . $url['service'] . ' service ' . $url['service'] . ' restart');
  15. sys::outjs(array('s' => 'ok'));
  16. }
  17. $aData = array(
  18. 'cpu' => '0%',
  19. 'ram' => '0%',
  20. 'hdd' => '0%',
  21. 'apache' => '<a href="#" onclick="return system_restart(\'apache\')">Перезагрузить</a>',
  22. 'nginx' => '<a href="#" onclick="return system_restart(\'nginx\')">Перезагрузить</a>',
  23. 'mysql' => '<a href="#" onclick="return system_restart(\'mysql\')">Перезагрузить</a>',
  24. 'uptime' => 'unknown',
  25. 'ssh' => 'error'
  26. );
  27. if (!$ssh->auth($unit['passwd'], $unit['address']))
  28. sys::outjs($aData);
  29. $aData['ssh'] = '<i class="fa fa-retweet pointer" id="system_restart(\'unit\')" onclick="return system_restart(\'unit\')"></i>';
  30. $stat_ram = $ssh->get('echo `cat /proc/meminfo | grep MemTotal | awk \'{print $2}\'; cat /proc/meminfo | grep MemFree | awk \'{print $2}\'; cat /proc/meminfo | grep Buffers | awk \'{print $2}\'; cat /proc/meminfo | grep Cached | grep -v SwapCached | awk \'{print $2}\'`');
  31. $aData['ram'] = ceil(sys::ram_load($stat_ram)) . '%';
  32. $aData['hdd'] = $ssh->get('df -P / | awk \'{print $5}\' | tail -1');
  33. $time = ceil($ssh->get('cat /proc/uptime | awk \'{print $1}\''));
  34. $aData['uptime'] = sys::uptime_load($time);
  35. $aData['cpu'] = sys::cpu_load($ssh->get('echo "`ps -A -o pcpu | tail -n+2 | paste -sd+ | bc | awk \'{print $0}\'` `cat /proc/cpuinfo | grep processor | wc -l | awk \'{print $1}\'`"')) . '%';
  36. sys::outjs($aData);
  37. }
  38. $html->get('index', 'sections/system');
  39. $html->pack('main');
  40. ?>