26 lines
1.2 KiB
PHP
26 lines
1.2 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
$action = $_GET['action'] ?? 'status';
|
|
$ps = trim(shell_exec('ps aux 2>/dev/null | grep "wevia-snap-archiver" | grep -v grep'));
|
|
$running = !empty($ps);
|
|
|
|
switch ($action) {
|
|
case 'launch':
|
|
if ($running) { echo json_encode(['ok'=>false,'msg'=>'Already running: '.$ps]); break; }
|
|
shell_exec('rm -f /tmp/snap-archiver.lock /tmp/wevia-snapshot-archiver.log 2>/dev/null');
|
|
shell_exec('echo /tmp/snap-final.sh | at now 2>&1');
|
|
sleep(3);
|
|
$ps2 = trim(shell_exec('ps aux 2>/dev/null | grep "wevia-snap-archiver" | grep -v grep'));
|
|
echo json_encode(['ok'=>true,'msg'=>'LAUNCHED','process'=>$ps2]);
|
|
break;
|
|
case 'kill':
|
|
shell_exec('pkill -f wevia-snap-archiver 2>/dev/null; rm -f /tmp/snap-archiver.lock');
|
|
echo json_encode(['ok'=>true,'msg'=>'KILLED']);
|
|
break;
|
|
default: // status
|
|
$log = @file_get_contents('/tmp/wevia-snapshot-archiver.log') ?: '';
|
|
$last = implode("\n", array_slice(explode("\n", trim($log)), -10));
|
|
$hz = trim(shell_exec('python3 /opt/weval-l99/wevia-snap-archiver.py list 2>&1'));
|
|
echo json_encode(['running'=>$running,'process'=>$ps,'snapshots'=>$hz,'log'=>$last]);
|
|
}
|