Как проверить исключения резервного копирования
Составьте карту путей, создайте контрольные файлы и проверьте содержимое свежего снимка без риска для рабочих данных.
Утилита отчиталась об успешном копировании папки Course. Через месяц понадобилось вернуть таблицу из подпапки attachments, а в снимке её нет. Возможно, папка была исключена правилом, лежала за пределами источника или вообще оставалась облачным ярлыком без локального содержимого. Проверка исключений помогает отделить три случая. Файл намеренно пропущен, файл пропущен по ошибке или снимок был сделан слишком рано.
Вместо просмотра тысяч имён подготовьте небольшой контрольный набор. Пусть нужные файлы представляют разные особенности, которые встречаются у вас на практике. Это даст понятный ответ на вопрос, какие именно правила срабатывают, и позволит повторить проверку после обновления программы или перемещения папок.
Запишите реальные корни и смысл правил
Начните со списка путей, которые читает программа. Укажите абсолютный путь к папке проекта и особенности её расположения. Например, рабочие данные находятся в D:\Courses\Astronomy, а экспорт по умолчанию попадает в Downloads. Относительный путь в инструкции может считаться от рабочего каталога задачи, который отличается от папки, открытой у вас в проводнике. Сравните настройки планового запуска с теми, которые использует ручной запуск.
Рядом выпишите исключения и назначение каждого. Вы можете намеренно пропускать временный кэш, который приложение построит заново. У исключения *.tmp понятная цель, а правило, совпадающее со словом cache во многих местах, требует внимательной проверки. Не предполагайте, что маски работают одинаково во всех утилитах. Синтаксис, чувствительность к регистру и привязка к корню различаются. Официальное описание инструмента помогает прочитать правила буквально.
Создайте маленький стенд с ожидаемыми ответами
Сделайте тестовую папку в отдельном хранилище или в специально согласованной части уже резервируемого учебного каталога. Разместите внутри четыре безвредных файла. Например, outline.md, attachments/diagram.txt, cache/render.tmp и notes/cache-strategy.md. Заранее запишите ожидаемое поведение. Первые два файла нужны, временный результат можно пропустить, а заметка про кэш должна остаться. Последний случай показывает, слишком ли широко сформулировано исключение.
Если важны скрытые файлы, длинные имена, вложения из облака или вложенная точка подключения диска, добавьте представительный пример по одному. Для облачного файла проверьте, что он действительно загружен локально и его содержимое доступно процессу копирования. Если используется символическая ссылка, выясните, сохраняет ли инструмент саму ссылку или следует по ней. В результате вам нужен не полный перечень особенностей файловой системы, а несколько примеров именно из вашей работы.
Сравните фактический снимок с ожиданием
Запустите копирование в тестовом режиме, если инструмент показывает, что будет включено. Такой просмотр полезен для быстрой проверки, но затем нужен настоящий снимок учебной папки. Зафиксируйте дату, идентификатор снимка и конкретный источник. Проверьте, что время снимка позже создания контрольных файлов. Убедитесь, что в отчёте нет ошибок чтения или сообщений о частично завершённом запуске.
Откройте перечень содержимого снимка через интерфейс просмотра. Если вы уже пользуетесь restic и имеете доступ только к нужному репозиторию, его команда restic ls <ID> показывает список файлов из конкретного снимка. Подставьте идентификатор из собственного списка снимков и примените настроенный для него способ доступа. Эта команда помогает увидеть факт включения пути. Она не заменяет попытку получить содержимое.
Сверьте четыре результата с контрольным листом. Если notes/cache-strategy.md отсутствует, временно изолируйте подозрительное правило на тестовом стенде и повторите проверку. Не меняйте несколько исключений одновременно, иначе будет сложно понять причину. Если правило подходит, но файл всё равно отсутствует, проверьте чтение с той же учётной записью, время создания файла и область источника.
Восстановите показательный набор
Из свежего снимка извлеките нужные контрольные файлы в пустой каталог, который находится вне рабочих данных. Откройте их и проверьте содержимое, например заметную контрольную фразу внутри диаграммы. Если файл есть в списке, но не открывается после восстановления, запишите это отдельно. Причина может находиться в другой части процесса. Сопоставление списка с чтением содержимого даёт уверенность именно в том, что нужный файл пригоден.
Проверьте также ожидаемое отсутствие cache/render.tmp. Этот файл не нужен, если приложение умеет его пересоздать. Если при восстановлении выяснится, что из исключённой папки берутся обязательные ресурсы, пересмотрите исходное решение. Пометка «временный» не доказывает, что все файлы в папке действительно временные.
Сохраните контрольный лист
Положите рядом с инструкцией дату, список проверенных путей и результат для каждого. Повторите проверку при смене корневого каталога, программы копирования или правил исключения. Успех выглядит просто. Каждый обязательный пример восстанавливается и открывается. Каждый намеренно исключённый пример отсутствует по объяснимой причине. Если одна проверка не прошла, записывайте, какой путь нужно исправить и какой следующий запуск подтвердит результат.
Сопоставьте проверку с расписанием. Один тестовый запуск под вашей учётной записью может увидеть файлы, недоступные фоновой задаче. Дождитесь хотя бы одного обычного запуска с теми же правилами и снова проверьте контрольные пути. Запишите, каким способом получен каждый результат, чтобы не перепутать ручной снимок с плановым.