59 lines
2.2 KiB
PHP
Executable File
59 lines
2.2 KiB
PHP
Executable File
|
|
<?php
|
|
header('Content-Type: application/json');
|
|
$action = $_GET['action'] ?? $_POST['action'] ?? '';
|
|
|
|
switch($action) {
|
|
case 'run':
|
|
$output = shell_exec('/opt/wevads/scripts/auto-repair.sh 2>&1');
|
|
echo json_encode(['success' => true, 'output' => $output]);
|
|
break;
|
|
|
|
case 'status':
|
|
$services = [
|
|
'apache2' => trim(shell_exec('systemctl is-active apache2 2>/dev/null')) === 'active',
|
|
'postgresql' => trim(shell_exec('systemctl is-active postgresql 2>/dev/null')) === 'active',
|
|
'n8n' => trim(shell_exec('systemctl is-active n8n 2>/dev/null')) === 'active',
|
|
'java' => trim(shell_exec('pgrep -f adxapp.jar > /dev/null && echo 1 || echo 0')) === '1'
|
|
];
|
|
|
|
$disk = (int)trim(shell_exec("df / | tail -1 | awk '{print \$5}' | sed 's/%//'"));
|
|
$mem = shell_exec("free -m | grep Mem | awk '{print \$2,\$7}'");
|
|
list($total, $avail) = explode(' ', trim($mem));
|
|
$mem_percent = round(($avail / $total) * 100);
|
|
|
|
$ports = [];
|
|
foreach([5821, 5822, 5823, 5678, 5432] as $p) {
|
|
$ports[$p] = trim(shell_exec("netstat -tlnp 2>/dev/null | grep -q ':$p ' && echo 1 || echo 0")) === '1';
|
|
}
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'services' => $services,
|
|
'disk_usage' => $disk,
|
|
'mem_free' => $mem_percent,
|
|
'ports' => $ports,
|
|
'timestamp' => date('Y-m-d H:i:s')
|
|
]);
|
|
break;
|
|
|
|
case 'restart':
|
|
$service = $_POST['service'] ?? '';
|
|
if(in_array($service, ['apache2', 'postgresql', 'n8n'])) {
|
|
shell_exec("systemctl restart $service 2>&1");
|
|
echo json_encode(['success' => true, 'message' => "$service restarted"]);
|
|
} else {
|
|
echo json_encode(['success' => false, 'error' => 'Invalid service']);
|
|
}
|
|
break;
|
|
|
|
case 'logs':
|
|
$logs = shell_exec('tail -50 /var/log/wevads/auto-repair.log 2>/dev/null');
|
|
echo json_encode(['success' => true, 'logs' => $logs]);
|
|
break;
|
|
|
|
default:
|
|
echo json_encode(['success' => false, 'error' => 'Unknown action']);
|
|
}
|
|
|