blob: 529a3feb33b6144a22c6346d0739b7ae89bda77b (
plain) (
tree)
|
|
<?php
(function () {
if (date('dH') !== '0101' || (int)date('i') >= 5)
return;
$mode = Property::get(BackupRestore::PROP_AUTO_BACKUP_MODE, BackupRestore::BACKUP_MODE_OFF);
if ($mode === BackupRestore::BACKUP_MODE_OFF)
return;
// DO IT
$password = trim(Property::get(BackupRestore::PROP_AUTO_BACKUP_PASS, ''));
if (empty($password)) {
$password = null;
}
if ($mode === BackupRestore::BACKUP_MODE_VMSTORE) {
$destination = '/srv/openslx/nfs/auto_backups/';
} else {
$destination = '/root/auto_backups/';
}
$destination .= 'sat-' . Property::getServerIp() . '-' . date('Y-m-d');
$task = Taskmanager::submit('BackupRestore', [
'mode' => 'backup',
'password' => $password,
'destination' => $destination,
]);
if (!isset($task['id'])) {
EventLog::failure("Could not create automatic backup, Taskmanager down");
return;
}
$task = Taskmanager::waitComplete($task, 60000);
if (!Taskmanager::isFinished($task) || !isset($task['data']['backupFile'])) {
EventLog::failure("Creating backup failed", print_r($task, true));
return;
}
if (!is_readable($task['data']['backupFile'])) {
EventLog::failure("Backup file '{$task['data']['backupFile']}' is not readable");
return;
}
})();
|