Какие есть варианты реализации резервного копирования при заданных условиях?
Есть 6+ Win-терминальных-серверов, на которых живут 30+ файловых баз 1С.
Еженочно на каждом сервере запускается bat-ник, который закрывает все процессы 1С и бэкапит каждую базу в свой архив на NAS-1.
Таким образом на NAS-1 имеем кучу архивов-бэкапов за длительный срок, разложенные по подпапкам (по именам баз)
Я хочу внедрить систему, которая будет на NAS-2 хранить последние N экземпляров всех баз, копируя новое с NAS-1 (и удаляя устаревшее).
В идеале - эта же система будет и в облако/s3 выкладывать эти последние N-копий каждой базы.
На вскидку готового подходящего продукта не вспомнил.
Писать же комплекс скриптов под это дело - по сути изобретать свой велосипед.
Прошу подсказать - есть ли подходящее мне что-то готовое (бесплатное) ?
(BareOS прошу не предлагать - в свое время сталкивался. не проникся)
ЗЫ. решение не обязательно для Windows. Возможно, для Linux будет даже удобней.
Что мешает так же батник или posh скрипт накидать, который бы вытаскивал последние N бекапов или бекапы за последние N дней и хранил их K дней? Из бесплатного присмотритесь к Cobian backup.
Я отмел этот вариант как самый сложно сопровождаемый.
если 30 баз, и что-то меняется - потом надо в 30-60-90 местах внести изменения.
Я склонялся к python-скрипту, с отдельным конфигом ( какие базы брать, куда складывать, сколько хранить, какой суфикс в имени архива ).
Но я в питоне пока я слаб, реализация затянется. А на выходе получится нечто, у чего уже могут существовать аналоги. Просто я о них не знаю.
30+ файловых баз 1С.
Еженочно на каждом сервере запускается bat-ник, который закрывает все процессы 1С и бэкапит каждую базу в свой архив
если 30 баз, и что-то меняется - потом надо в 30-60-90 местах внести изменения.
Хм... по этой логике у вас и сейчас 30+ bat-ников делают бэкап? А если всё-таки там хватает одного bat-ника на все базы, то почему в новых условиях их должно стать 30? Новая задача не сложнее старой, тоже всё одним скриптом можно сделать. Если хранение бэкапов продумано, то не только в 30 местах не нужно вносить изменения, но даже и в одном месте не нужно.
И зачем добавлять зависимость от питона, когда достаточно bat?
hint000, сейчас на 6 серверах 6 батников.
Но если изменится место куда складывать - надо будет править 30 строк в 6 батниках.
"Если хранение бэкапов продумано, то не только в 30 местах не нужно вносить изменения, но даже и в одном месте не нужно.
И зачем добавлять зависимость от питона, когда достаточно bat?"
возможно - не очень продумано и я допускаю переосмысление,
и я не знаю, как требуемую логику реализовать в bat-скрипте.
Но если изменится место куда складывать - надо будет править 30 строк в 6 батниках.
Не понимаю, почему. В каждом из 6 скриптов должен быть в переменной прописан общий путь для всех бэкапов. Если меняется этот путь, то его нужно поменять в 6 местах, хоть баз будет 100 штук. Например:
set DATABASENAME=...
set DATESTAMP=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%-%time:~0,2%-%time:~3,2%
if "%time:~0,1%" == " " set DATESTAMP=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%-0%time:~1,1%-%time:~3,2%
set DATADIR=D:\backup
set BACKUPFILENAME=%DATADIR%\%DATABASENAME%-%DATESTAMP%.bak
hint000, да, я стормозил.
у меня сейчас имя каталога не всегда совпадает с именем базы. Да, если причесать - можно так.
Но для меня все равно главная задача: в NAS-2 хранить последние (условно) 5 копий.
Надо проверить - появилась ли новая(ые). Скопировать их. Удалить устаревшие копии.
Сергей, и не надо каждую базу бэкапить дважды. Кобиан умеет сам выбрать последнюю за сутки копию уже сделанную вашими скриптами, далее кобиан можно архивировать ее без сжатия (т. е. просто копировать) на новое место. Заливать в облако s3 одной командой не выйдет, нужно будет батничек запускать после выполнения задания (кобиан и это умеет).
kolossradosskiy, я, видимо, что-то не понимаю.
У меня на паре серверов бекап сделан именно через Кобиан Бэкап.
Я пробую создать новое задание и не вижу как я там могу реализовать требуемое. Прошу пояснить.