backups: add backup multiple targets
This commit is contained in:
12
src/cron.js
12
src/cron.js
@@ -11,7 +11,7 @@ exports = module.exports = {
|
||||
|
||||
stopJobs,
|
||||
|
||||
handleBackupPolicyChanged,
|
||||
handleBackupScheduleChanged,
|
||||
handleTimeZoneChanged,
|
||||
handleAutoupdatePatternChanged,
|
||||
handleDynamicDnsChanged,
|
||||
@@ -203,24 +203,24 @@ async function startJobs() {
|
||||
start: true
|
||||
});
|
||||
|
||||
await handleBackupPolicyChanged(await backupTargets.getPolicy());
|
||||
await handleBackupScheduleChanged(await backupTargets._getDefault());
|
||||
await handleAutoupdatePatternChanged(await updater.getAutoupdatePattern());
|
||||
await handleDynamicDnsChanged(await network.getDynamicDns());
|
||||
await handleExternalLdapChanged(await externalLdap.getConfig());
|
||||
}
|
||||
|
||||
async function handleBackupPolicyChanged(value) {
|
||||
assert.strictEqual(typeof value, 'object');
|
||||
async function handleBackupScheduleChanged(target) {
|
||||
assert.strictEqual(typeof target, 'object');
|
||||
|
||||
const tz = await cloudron.getTimeZone();
|
||||
|
||||
debug(`backupPolicyChanged: schedule ${value.schedule} (${tz})`);
|
||||
debug(`backupPolicyChanged: schedule ${target.schedule} (${tz})`);
|
||||
|
||||
if (gJobs.backup) gJobs.backup.stop();
|
||||
gJobs.backup = null;
|
||||
|
||||
gJobs.backup = CronJob.from({
|
||||
cronTime: value.schedule,
|
||||
cronTime: target.schedule,
|
||||
onTick: async () => await safe(backupTargets.startBackupTask(AuditSource.CRON), { debug }),
|
||||
start: true,
|
||||
timeZone: tz
|
||||
|
||||
Reference in New Issue
Block a user