Резервное копирование
Система резервного копирования обеспечивает сохранение целостности среды разработки CoDeSys и проектов PLC. Бэкапы создаются для всей папки /opt/codesys/ (прошивка и проекты).
Структура резервных копий
- backup/current/ - текущая синхронизированная копия файлов CoDeSys (обновляется при обнаружении изменений).
- backup/archives/ - архивы предыдущих состояний системы (имена файлов: backup_DD_MM_YYYY_HH-MM-SS.tar.gz).
- Общий размер архивов ограничен 100 МБ - старые версии удаляются автоматически.
Механизм создания бэкапов
Менеджер каждую минуту проверяет контрольные суммы (SHA256) ключевых файлов:
- /opt/codesys/codesyscontrol (симлинк прошивки)
- /opt/codesys/PlcLogic/Application/Application.crc
- /opt/codesys/PlcLogic/Application/Application.core
При изменении контрольной суммы:
- В backup/archives/ создаётся архив текущего состояния.
- Содержимое backup/current/ синхронизируется с актуальными версиями файлов.
Особые сценарии:
- Обновление прошивки: добавьте файл codesyscontrol_ver_X (где X — версия) и выполните перезагрузку PLC. После загрузки будет создан бэкап предыдущей версии.
- Время создания: ~1–1.5 минуты. Рекомендуется выдержать паузу перед внесением новых изменений.
- Мониторинг: в manager.log фиксируются события: изменение контрольных сумм, создание архивов.
Восстановление из резервной копии
Для восстановления используется скрипт /opt/scripts/restore_backup.sh.
Варианты запуска:
Процесс восстановления:
- Текущее состояние сохраняется в архив с префиксом replaced_by_restore_backup_...
- В manager.log добавляется запись о восстановлении
- Может потребоваться перезагрузка PLC для применения изменений