chaospott-site/_site/tmp/var/www/chaospott.de/engine/update.php
2014-10-26 19:35:05 +01:00

38 lines
1.1 KiB
PHP

<?php
define('LOCK_FILE', isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : '/tmp/secondcrack-updater.pid');
// Ensure that no other instances are running
if (file_exists(LOCK_FILE) &&
($pid = intval(trim(file_get_contents(LOCK_FILE)))) &&
posix_kill($pid, 0)
) {
fwrite(STDERR, "Already running [pid $pid]\n");
exit(1);
}
if (file_put_contents(LOCK_FILE, posix_getpid())) {
register_shutdown_function(
function() {
try { unlink(LOCK_FILE); } catch (Exception $e) {
fwrite(STDERR, "Cannot remove lock file [" . LOCK_FILE . "]: " . $e->getMessage() . "\n");
}
}
);
} else {
fwrite(STDERR, "Cannot write lock file: " . LOCK_FILE . "\n");
exit(1);
}
$fdir = dirname(__FILE__);
require_once($fdir . '/Post.php');
$config_file = realpath(dirname(__FILE__) . '/..') . '/config.php';
if (! file_exists($config_file)) {
fwrite(STDERR, "Missing config file [$config_file]\nsee [$config_file.default] for an example\n");
exit(1);
}
require_once($config_file);
Updater::update();
exit(Updater::$changes_were_written ? 2 : 0);