From 7f2c4c3c8ffda2dd4d327e105285e70688f2172a Mon Sep 17 00:00:00 2001 From: shats Date: Mon, 9 Feb 2026 20:51:43 +0700 Subject: [PATCH] refactor(mikrotikBackupRoutes, mikrotikBackupScheduler): update backup export command to use /rest/execute with compact terse script for improved reliability --- backend/routes/mikrotikBackupRoutes.js | 4 ++-- backend/services/mikrotikBackupScheduler.js | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/backend/routes/mikrotikBackupRoutes.js b/backend/routes/mikrotikBackupRoutes.js index 79f2510..7b1e45d 100644 --- a/backend/routes/mikrotikBackupRoutes.js +++ b/backend/routes/mikrotikBackupRoutes.js @@ -261,8 +261,8 @@ async function runBackupNow(req, res) { throw e; } - // /rest/export с compact, как в планировщике - const resp = await client.command('export', { compact: '' }); + // /rest/execute с командой "/export compact terse", как в планировщике + const resp = await client.command('execute', { script: '/export compact terse' }); const data = resp && resp.data; let config = ''; if (typeof data === 'string') config = data; diff --git a/backend/services/mikrotikBackupScheduler.js b/backend/services/mikrotikBackupScheduler.js index 868baf8..c38c843 100644 --- a/backend/services/mikrotikBackupScheduler.js +++ b/backend/services/mikrotikBackupScheduler.js @@ -53,9 +53,8 @@ async function getServerIdsFromUiSettings(logger) { } async function fetchRouterExport(client) { - // Согласно официальной документации, /rest/export позволяет экспортировать конфиг. - // Параметр "compact" без значения эквивалентен /export compact. - const res = await client.command('export', { compact: '' }); + // Используем /rest/execute с командой "/export compact terse", чтобы гарантированно получить вывод в ответе. + const res = await client.command('execute', { script: '/export compact terse' }); const data = res && res.data; if (!data) return '';