Esempio n. 1
0
    $cg = new Console_Getopt();
    $args = $cg->readPHPArgv();
    array_shift($args);
    $shortOpts = 'h::v::';
    $longOpts = array('ini=');
    $params = $cg->getopt2($args, $shortOpts, $longOpts);
    if (PEAR::isError($params)) {
        echo 'Error: ' . $params->getMessage() . "\n";
        exit(1);
    }
    $new_params = array();
    foreach ($params[0] as $param) {
        $param[0] = str_replace('--', '', $param[0]);
        $new_params[$param[0]] = $param[1];
    }
    unset($params);
    return $new_params;
}
$params = get_commandline();
$settings = false;
#support specifying location of .ini file on command line
if (!empty($params['ini'])) {
    $settings = @parse_ini_file($params['ini'], true);
}
require_once 'include/flexsbr.php';
$cdc = new FlexSBR($settings);
#this will read settings from the INI file and initialize
#the database and capture the source master position
echo "setup starting\n";
$cdc->setup(true);
echo "setup completed\n";
Esempio n. 2
0
if (in_array('daemon', array_keys($params))) {
    $pid = pcntl_fork();
    if ($pid == -1) {
        die('Could not fork a new process!\\n');
    } elseif ($pid == 0) {
        #we are now in a child process, and the capture_changes
        #below will be daemonized
        pcntl_signal(SIGTERM, "sig_handler");
        pcntl_signal(SIGHUP, "sig_handler");
    } else {
        #return control to the shell
        exit;
    }
}
#support pid file
if (!empty($params['pid'])) {
    if (file_exists($params['pid'])) {
        $pid = trim(file_get_contents($params['pid']));
        $ps = `ps -p{$pid}`;
        if (preg_match('/php/i', $ps)) {
            die("Already running!\n");
        } else {
            echo "Stale lockfile detected.\n";
        }
    }
    file_put_contents($params['pid'], getmypid());
}
require_once 'include/flexsbr.php';
$cdc = new FlexSBR($settings);
#capture changes forever (-1):
$cdc->capture_changes(-1);