From bb6f94126ce0dc22356f3cc0e416dc7f80b354d0 Mon Sep 17 00:00:00 2001 From: madeliri Date: Wed, 22 Apr 2026 12:15:07 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=BD=D0=BE=D0=B5=20=D1=84=D0=BE=D1=80=D0=BC=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B1=D1=8D=D0=BA=D0=B0?= =?UTF-8?q?=D0=BF=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/db.R | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/db.R b/modules/db.R index 624be7f..ffd4db3 100644 --- a/modules/db.R +++ b/modules/db.R @@ -381,21 +381,25 @@ local_db_backup <- function( dates <- stringr::str_extract(existed_files, "((?:19|20)\\d\\d)(0?[1-9]|1[012])([12][0-9]|3[01]|0?[1-9])") dates <- as.Date(dates, "%Y%m%d") - # если количество существующих бэкапов значимо превышает установленный лимит, удаляем лишнее - if (length(existed_files) > backups_limit) { + if (length(existed_files) == 0) { + file.copy(db_full_path, todays_backup) + cli::cli_alert_success("создан {schedule_name}-бэкап для '{db_name}'") + return() + } + + # если количество существующих бэкапов превышает установленный лимит, удаляем лишнее + if (length(existed_files) >= backups_limit) { file.remove(utils::tail(existed_files, length(existed_files) - backups_limit)) } # если количество существующих бэкапов равно имеющемуся и пора делать бэкап - делаем бэкап, удаляем послендий файл if (dates[1] + schedule_days == Sys.Date()) { - if (length(existed_files) >= backups_limit) file.remove(utils::tail(existed_files, 1)) file.copy(db_full_path, todays_backup) cli::cli_alert_success("создан {schedule_name}-бэкап для '{db_name}'") + } - } ) - }