system.php 2.1 KB

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