====== Резервное копирование ПО «Хромос» 4.x ======
===== Назначение =====
В статье описан порядок резервного копирования и восстановления данных программного обеспечения «Хромос» версии 4.х. Ключевая особенность: **все пользовательские данные хранятся в одном каталоге**, поэтому его полная копия позволяет восстановить рабочее состояние ПО:
C:\Users\Public\Documents\Chromos4
===== Что именно сохраняется =====
Каталог ''Chromos4'' содержит следующие подкаталоги:
^ Подкаталог ^ Содержимое ^ Критичность ^ Особенности копирования ^
| ''Audit'' | Журнал аудита | Высокая | Нельзя изменять вручную: нарушается целостность журнала. Хранить копии с ограниченным правом записи. |
| ''Data'' | Хроматограммы | Высокая | Обычно самый большой по объёму. Подходит для инкрементного копирования. |
| ''Database'' | База данных | Критическая | Копировать только при закрытом ПО (см. [[#особые_требования|ниже]]). |
| ''Methods'' | Методы | Высокая | Небольшой объём, можно копировать часто. |
| ''Templates'' | Шаблоны отчётов | Средняя | Небольшой объём. |
| ''Scheduler'' | Планы заданий с параметрами | Средняя | Копировать, когда нет выполняющихся заданий. |
| ''Sandbox'' | Песочницы | По политике организации | Если песочницы используются для тестов и их можно создать заново, допустимо исключать из копии. |
Рекомендуется копировать каталог **целиком**, не выбирая подкаталоги. Данные взаимосвязаны: база данных ссылается на хроматограммы, методы и шаблоны. Копия отдельных частей может оказаться несогласованной.
===== Особые требования =====
* **Согласованность.** Резервную копию нужно делать, когда ПО «Хромос» закрыто на всех рабочих местах и нет выполняющихся заданий планировщика. Иначе файлы базы данных могут быть скопированы в промежуточном состоянии. Проверьте по документации на вашу сборку, нужно ли дополнительно останавливать связанные службы Windows.
* **Права доступа.** Каталог находится в ''Public\Documents'', и права на подкаталоги могут быть настроены отдельно. Копируйте с сохранением ACL, для чего команду нужно запускать от имени администратора.
* **Версия ПО.** Вместе с данными фиксируйте номер версии «Хромоса» (например, 4.2.x). Восстанавливать данные нужно в ту же или более новую версию из ветки 4.х.
* **Лицензии и драйверы приборов.** Ключи, лицензии и драйверы могут храниться вне каталога ''Chromos4''.
===== Стратегия копирования =====
Рекомендуемая схема:
^ Тип ^ Периодичность ^ Хранение ^
| Полная копия каталога ''Chromos4'' | Раз в неделю | 4–8 недель |
| Копия каталогов ''Database'', ''Methods'', ''Templates'', ''Scheduler'' | Ежедневно, после окончания работы | 14 дней |
| Копия перед обновлением ПО или изменением конфигурации | По событию | До подтверждения работоспособности + 30 дней |
Периодичность нужно подбирать под интенсивность работы лаборатории: чем больше анализов в день, тем чаще копируйте каталог ''Data''.
Хранить копии следует по правилу **3-2-1**: три копии данных, на двух разных носителях, одна из них вне рабочего помещения (сетевое хранилище, другой сервер, внешний диск в другом помещении).
===== Резервное копирование =====
==== Ручное копирование ====
- Закройте «Хромос» на всех рабочих местах и убедитесь, что задания планировщика не выполняются.
- Скопируйте каталог ''C:\Users\Public\Documents\Chromos4'' целиком на резервный носитель в папку с датой, например ''Chromos4_2026-10-05''.
- Сравните размер и количество файлов в оригинале и копии.
==== Копирование скриптом (robocopy) ====
Файл ''chromos_backup.bat'' (запускать от имени администратора):
@echo off
chcp 65001 >nul
set SRC=C:\Users\Public\Documents\Chromos4
set DSTROOT=D:\Backup\Chromos4
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HH-mm"') do set STAMP=%%i
set DST=%DSTROOT%\%STAMP%
if not exist "%DSTROOT%" mkdir "%DSTROOT%"
robocopy "%SRC%" "%DST%" /E /COPY:DATSOU /DCOPY:DAT /R:3 /W:10 /LOG:"%DSTROOT%\log_%STAMP%.txt" /TEE
rem Коды robocopy 0-7 означают успех, 8 и выше - ошибку
if %ERRORLEVEL% GEQ 8 (
echo [ERROR] Резервное копирование завершилось с ошибкой. См. лог.
exit /b %ERRORLEVEL%
)
echo [OK] Копия создана: %DST%
exit /b 0
Пояснения к параметрам:
* ''/E'' копирует все подкаталоги, включая пустые;
* ''/COPY:DATSOU'' сохраняет данные, атрибуты, время, права доступа (ACL), владельца и аудит;
* ''/R:3 /W:10'' три повтора с паузой 10 секунд при занятом файле;
* ''/LOG'' пишет протокол копирования.
Не используйте ключ ''/MIR'' для копирования в одну и ту же папку: удаление файлов в источнике приведёт к удалению их из резервной копии. Копируйте в отдельные папки с датой.
==== Копирование в архив 7-Zip ====
Архив удобен для передачи по сети, хранения на внешних носителях и защиты паролем. Один файл проще контролировать (размер, контрольная проверка), чем тысячи отдельных файлов.
=== Требования ===
* Установлен [[https://www.7-zip.org|7-Zip]] (путь по умолчанию: ''C:\Program Files\7-Zip\7z.exe'').
* Запуск от имени администратора.
* «Хромос» закрыт на всех рабочих местах, задания планировщика не выполняются.
* На диске назначения достаточно места: хроматограммы сжимаются слабо, закладывайте 50-100% от размера каталога ''Data''.
=== Скрипт chromos_backup_7z.bat ===
@echo off
chcp 65001 >nul
set SEVENZIP="C:\Program Files\7-Zip\7z.exe"
set SRC=C:\Users\Public\Documents\Chromos4
set DSTROOT=D:\Backup\Chromos4_7z
set KEEP_DAYS=56
rem Пароль архива (см. примечание о безопасности ниже)
set ARCPASS=ЗАМЕНИТЕ_НА_СВОЙ_ПАРОЛЬ
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HH-mm"') do set STAMP=%%i
set ARC=%DSTROOT%\Chromos4_%STAMP%.7z
if not exist "%DSTROOT%" mkdir "%DSTROOT%"
rem 1. Создание архива
%SEVENZIP% a -t7z -mx=3 -mmt=on -mhe=on -sni -p"%ARCPASS%" "%ARC%" "%SRC%" > "%DSTROOT%\log_%STAMP%.txt"
if %ERRORLEVEL% GEQ 2 (
echo [ERROR] Ошибка создания архива. См. лог.
exit /b %ERRORLEVEL%
)
rem 2. Проверка целостности архива
%SEVENZIP% t -p"%ARCPASS%" "%ARC%" >> "%DSTROOT%\log_%STAMP%.txt"
if %ERRORLEVEL% NEQ 0 (
echo [ERROR] Проверка целостности архива не пройдена.
exit /b %ERRORLEVEL%
)
rem 3. Удаление архивов старше KEEP_DAYS дней
forfiles /P "%DSTROOT%" /M Chromos4_*.7z /D -%KEEP_DAYS% /C "cmd /c del @path" 2>nul
echo [OK] Архив создан и проверен: %ARC%
exit /b 0
Пояснения к параметрам:
^ Параметр ^ Назначение ^
| ''a -t7z'' | Создать архив формата 7z |
| ''-mx=3'' | Быстрое сжатие. Хроматограммы и так плохо сжимаются, а высокие уровни сильно увеличивают время |
| ''-mmt=on'' | Использовать все ядра процессора |
| ''-mhe=on'' | Шифровать также имена файлов (работает только в формате 7z). Без пароля не видно даже структуры каталогов |
| ''-sni'' | Сохранять NTFS-права доступа. Поддержка зависит от версии 7-Zip, проверьте на тестовом восстановлении |
| ''-p"..."'' | Пароль. Алгоритм шифрования: AES-256 |
| ''t'' | Проверить целостность готового архива |
Коды возврата 7-Zip: ''0'' успех, ''1'' предупреждение (например, не удалось прочитать файл), ''2'' и выше критическая ошибка. Скрипт останавливается при коде 2 и выше, а предупреждения (код 1) стоит разобрать по логу.
**Безопасность пароля.** Пароль в параметре ''-p'' виден в списке процессов Windows во время работы архиватора, а в скрипте хранится открытым текстом. Ограничьте права на файл скрипта (только администраторы), используйте отдельный пароль для резервных копий и храните его в менеджере паролей или в запечатанном конверте в сейфе. **Потеря пароля означает невозможность восстановления данных.**
=== Вариант без пароля ===
Если шифрование не требуется (копия лежит в защищённом хранилище), уберите из команды параметры ''-mhe=on'' и ''-p"%ARCPASS%"'', а также ключ ''-p'' в команде проверки.
=== Вариант с исключением песочниц ===
Если каталог ''Sandbox'' не нужен в копии, добавьте в команду создания архива параметр ''-xr!Sandbox'':
%SEVENZIP% a -t7z -mx=3 -mmt=on -mhe=on -sni -xr!Sandbox -p"%ARCPASS%" "%ARC%" "%SRC%"
=== Разбиение на тома ===
Для записи на носители ограниченного размера или загрузки в хранилище с лимитом на файл добавьте параметр ''-v'', например ''-v4g'' (тома по 4 ГБ). Для восстановления нужны **все** тома (''.7z.001'', ''.7z.002'' и т. д.).
=== Запуск по расписанию ===
schtasks /Create /TN "Chromos4 Backup 7z" /TR "C:\Scripts\chromos_backup_7z.bat" /SC WEEKLY /D SUN /ST 23:00 /RU SYSTEM /RL HIGHEST
==== Автоматический запуск по расписанию ====
Задание в Планировщике Windows (запуск в 23:00, когда лаборатория не работает):
schtasks /Create /TN "Chromos4 Backup" /TR "C:\Scripts\chromos_backup.bat" /SC DAILY /ST 23:00 /RU SYSTEM /RL HIGHEST
===== Восстановление =====
==== Полное восстановление ====
- Установите «Хромос» той же версии (или более новой в рамках 4.х), если ПО отсутствует.
- Закройте ПО на всех рабочих местах.
- Для страховки переименуйте текущий каталог: ''Chromos4'' в ''Chromos4_old''.
- Скопируйте нужную резервную копию в ''C:\Users\Public\Documents\Chromos4'' с сохранением прав:
robocopy "D:\Backup\Chromos4\2026-10-05_23-00" "C:\Users\Public\Documents\Chromos4" /E /COPY:DATSOU /DCOPY:DAT /R:3 /W:10
- Запустите «Хромос» и выполните проверку (см. ниже).
- После подтверждения работоспособности каталог ''Chromos4_old'' можно удалить.
==== Восстановление из архива 7-Zip ====
- Закройте «Хромос» на всех рабочих местах.
- Переименуйте текущий каталог ''Chromos4'' в ''Chromos4_old''.
- Распакуйте архив. В нём каталог ''Chromos4'' лежит в корне, поэтому указывайте родительский каталог:
"C:\Program Files\7-Zip\7z.exe" x "D:\Backup\Chromos4_7z\Chromos4_2026-10-05_23-00.7z" -o"C:\Users\Public\Documents" -p
- 7-Zip запросит пароль (если ключ ''-p'' указан без значения). Для многотомного архива указывайте первый том ''.7z.001''.
- Проверьте права на каталог и подкаталоги (при необходимости восстановите их с помощью ''icacls'').
- Запустите «Хромос» и выполните проверку (см. раздел «Проверка резервной копии»).
==== Частичное восстановление ====
Отдельные подкаталоги допустимо восстанавливать только для **автономных** данных:
* ''Templates'' и ''Methods'' при случайном удалении шаблона или метода;
* ''Scheduler'' при потере планов заданий.
Подкаталоги ''Database'' и ''Data'' лучше восстанавливать вместе и из одной и той же копии, чтобы база данных соответствовала хроматограммам.
===== Проверка резервной копии =====
Копия считается надёжной, только если проверено восстановление. Не реже раза в квартал:
- Разверните копию на тестовом компьютере с тем же ПО «Хромос».
- Откройте несколько хроматограмм из ''Data'', в том числе старые.
- Убедитесь, что доступны методы, шаблоны отчётов и планы заданий.
- Проверьте, что журнал аудита открывается и записи за нужный период на месте.
- Результат проверки зафиксируйте в журнале проверок резервного копирования.
===== Контрольный список =====
* [ ] Копируется весь каталог ''C:\Users\Public\Documents\Chromos4''
* [ ] Копирование выполняется при закрытом ПО и без выполняющихся заданий
* [ ] Права доступа сохраняются (''/COPY:DATSOU'', запуск от администратора)
* [ ] Копии хранятся минимум на двух носителях, одна вне основного помещения
* [ ] Настроен автоматический запуск и контроль результата по логу
* [ ] Копия делается перед каждым обновлением ПО
* [ ] Восстановление проверяется на тестовой машине
* [ ] Зафиксированы версия ПО и расположение лицензий/ключей
===== См. также =====
* Документация разработчика на ПО «Хромос» 4.х
* Регламент резервного копирования организации