AlternC/tools/alternc_lxc

81 lines
1.6 KiB
Plaintext
Raw Normal View History

#!/usr/bin/php
<?php
require_once("/var/lib/alternc-lxc/alternc_lxc.class.php");
function help() {
echo "Actions:\n";
echo " * ".$_SERVER['SCRIPT_NAME']." start login password_hash UID\n";
echo " * ".$_SERVER['SCRIPT_NAME']." stop vm\n";
echo " * ".$_SERVER['SCRIPT_NAME']." stopall\n";
echo " * ".$_SERVER['SCRIPT_NAME']." monit\n";
echo " * ".$_SERVER['SCRIPT_NAME']." list\n";
echo " * ".$_SERVER['SCRIPT_NAME']." lock\n";
echo " * ".$_SERVER['SCRIPT_NAME']." unlock\n";
echo "\n";
}
# Must be launched as root
if (shell_exec("/usr/bin/id -u") != 0 ) {
echo "Script must be launch as root.\n";
die();
}
# There must be at least one parameters
if (empty($argv[1])) {
help();
die();
}
$filename = '/etc/alternc-lxc/vms.json';
$conf = json_decode(file_get_contents($filename), TRUE);
$lxc = new alternc_lxc();
$lxc->conf=$conf;
# Here we go
switch ($argv[1]) {
case "start":
if (empty($argv[2]) || empty($argv[3]) || empty($argv[4])) {
help();
die();
}
$r = $lxc->start_vm($argv[2], $argv[3], $argv[4]);
echo serialize($r);
break;
case "stopall":
$r=$lxc->stopall_vm();
echo serialize($r);
break;
case "stop":
if (empty($argv[2])) {
help();
die();
}
$r=$lxc->stop_vm($argv[2]);
echo serialize($r);
break;
case "unlock":
$r=$lxc->unlock();
echo serialize($r);
break;
case "lock":
$r=$lxc->lock();
echo serialize($r);
break;
case "monit":
$r=$lxc->monit();
echo serialize($r);
break;
case "list":
$r=$lxc->listvm();
echo "$r";
break;
default:
help();
die();
}
?>