Обновление конфигурации 1С:Предприятие — рутинная, но критически важная процедура, которая может обернуться потерей данных, если не знать, куда система сохраняет резервные копии и временные файлы. Многие администраторы сталкиваются с ситуацией, когда после неудачного апдейта приходится восстанавливать базу из бэкапа, но где его искать? В этой статье мы детально разберём:

— стандартные пути хранения временных файлов для файловых и SQL-баз (включая PostgreSQL и MS SQL Server);

— как ведёт себя при обновлении через Конфигуратор, 1С:Enterprise или ras-сервер;

— скрытые папки и системные каталоги, о которых не пишут в официальной документации, но которые могут спасти данные в критической ситуации.

Особое внимание уделим разнице между резервными копиями, создаваемыми автоматически перед обновлением, и временными файлами, которые система генерирует в процессе. Эта информация поможет избежать типичных ошибок, например, когда пользователи путают рабочую базу с её "теневой" копией, созданной на время апдейта.

Стандартные пути сохранения резервных копий перед обновлением

Перед любым обновлением конфигурации 1С:Предприятие 8 автоматически создаёт резервную копию базы данных. Однако путь, по которому она сохраняется, зависит от типа базы (файловая или клиент-серверная) и способа обновления (ручной или автоматический). Рассмотрим основные сценарии.

Для файловых баз (формат .1CD) резервная копия по умолчанию сохраняется в ту же папку, где находится сама база, но с добавлением суффикса _1cv8.bak или _1cv8.old. Например, если ваша база лежит по пути:

C:\Bases\Trade\1Cv8.1CD

то резервная копия появится как:

C:\Bases\Trade\1Cv8_1cv8.bak

Для клиент-серверных баз (SQL) логика иная: система не создаёт физический файл бэкапа, а использует механизмы резервирования самой СУБД. Однако может инициировать создание дампа через:

  • 📁 MS SQL Server: папка бэкапов по умолчанию — C:\Program Files\Microsoft SQL Server\MSSQL{version}.MSSQLSERVER\MSSQL\Backup, но путь может быть переопределён в настройках сервера.
  • 🐧 PostgreSQL: бэкапы обычно сохраняются в /var/lib/postgresql/{version}/backups (Linux) или C:\Program Files\PostgreSQL\{version}\data\backups (Windows), если не задан другой путь в postgresql.conf.

Важно: если обновление запускается через ras-сервер (например, в облачных решениях или при групповом администрировании), резервные копии могут сохраняться в сетевых папках, путь к которым прописан в настройках кластера серверов . Уточнить его можно в файле конфигурации ras.cluster или через консоль администрирования.

📊 Какой тип базы 1С вы используете?
Файловая (1CD)
MS SQL Server
PostgreSQL
Не знаю/не использую

Временные файлы во время обновления: где их искать

В процессе обновления создаёт временные файлы, которые могут занимать значительное место на диске. Эти файлы нужны для:

  • 🔄 промежуточного хранения изменённых объектов конфигурации;
  • 📦 распаковки обновлений (если они загружаются в виде .cf или .cfu);
  • 🔍 проверки целостности данных перед применением изменений.

Для файловых баз временные файлы обычно появляются в папке %TEMP%\1C\1cv8\ или %LOCALAPPDATA%\1C\1cv8\. Путь можно уточнить, запустив в командной строке:

echo %TEMP%

Для SQL-баз временные файлы могут создаваться:

  • 📂 В папке временных файлов СУБД (например, C:\Program Files\Microsoft SQL Server\MSSQL{version}.MSSQLSERVER\MSSQL\DATA\tempdb для MS SQL);
  • 📂 В рабочем каталоге сервера (обычно C:\Program Files (x86)\1cv8\{version}\bin\).

Если обновление прервалось, эти файлы могут остаться на диске и занимать место. Их можно удалить вручную, но только после проверки, что:

  1. Обновление завершилось (успешно или с ошибкой).
  2. В папке нет файлов с расширением .1CD или .DT — они могут быть частью несохранённой резервной копии.
💡

Если обновление зависло на этапе "Применение изменений", проверьте папку %TEMP%\1C на наличие файлов размером более 1 ГБ. Их удаление может разблокировать процесс.

Скрытые папки и недокументированные пути

Помимо стандартных локаций, использует несколько скрытых папок, о которых не упоминается в официальных руководствах. Эти каталоги могут содержать критически важные данные, особенно если обновление прошло с ошибками.

Один из таких путей — %APPDATA%\1C\1cv8\ (или %LOCALAPPDATA%\1C\1cv8\ для новых версий). Здесь хранятся:

  • 📋 Логи обновлений (файлы log*.txt);
  • 🔑 Кэш метаданных и временные настройки сеансов;
  • 📦 Архивы с предыдущими версиями конфигураций (если включена опция "Сохранять историю обновлений").

Ещё одно "секретное" место — папка C:\Users\Public\1C\. Она используется для хранения общих данных, если обновление запускается от имени администратора или через сервисные учётные записи. Здесь можно найти:

  • 📂 Резервные копии конфигураций (.cf), созданные перед критическими обновлениями;
  • 📂 Файлы блокировок (.LCK), которые могут мешать повторному запуску обновления.

Для Linux-серверов аналогичные данные могут храниться в:

  • 📁 /var/1C/tmp/;
  • 📁 /home/usr1cv8/.1cv8/ (если запускается от имени пользователя usr1cv8).

Эти папки часто игнорируются администраторами, но в них можно найти данные для отката изменений, если стандартные бэкапы повреждены.

Что делать, если в скрытых папках нет нужных файлов?

Если вы не нашли резервные копии в стандартных и скрытых папках, проверьте:

1. Настройки групповой политики — они могут перенаправлять временные файлы в сетевые хранилища.

2. Логи сервера (srvinfo.log) — там может быть указан альтернативный путь для бэкапов.

3. Настройки антивируса — некоторые программы (например, Kaspersky) могут блокировать создание файлов в стандартных папках и перенаправлять их в карантин.

Особенности обновления через ras-сервер

Если обновление запускается через ras-сервер (например, в кластерных установках или облачных решениях), логика сохранения файлов меняется. В этом случае:

  • 🔄 Резервные копии могут сохраняться в сетевых папках, путь к которым прописан в конфигурации кластера;
  • 📡 Временные файлы создаются на сервере, где работает ragent, а не на клиентской машине;
  • 📋 Логи обновлений пишутся в %ProgramData%\1C\1cv8\logs\ (Windows) или /var/log/1C/ (Linux).

Чтобы узнать точный путь для бэкапов в ras-конфигурации, выполните команду:

rac cluster list --cluster=<имя_кластера>

и найдите параметр BackupDir. Если он не задан, бэкапы сохраняются в папку по умолчанию:

  • 🖥️ Windows: C:\ProgramData\1C\1cv8\backups\;
  • 🐧 Linux: /var/1C/backups/.

Важно: при обновлении через ras система может создавать инкрементальные бэкапы, которые хранятся в виде цепочки файлов с расширением .1cd и .diff. Для восстановления потребуется вся цепочка, а не только последний файл.

Убедитесь, что:

✅ Достаточно места на диске в папке BackupDir

✅ У учётной записи ras достаточные права на запись

✅ В настройках кластера включено резервное копирование

✅ Нет активных сеансов пользователей в базе-->

Как изменить путь сохранения бэкапов

По умолчанию пути сохранения резервных копий и временных файлов определяются настройками и операционной системы. Однако их можно изменить, если:

  • 💾 На системном диске не хватает места;
  • 🔒 Нужно сохранить бэкапы в защищённое хранилище;
  • 📡 Требуется централизованное управление резервными копиями в сети.

Для файловых баз путь бэкапа можно изменить вручную при запуске обновления через Конфигуратор:

  1. Откройте базу в режиме Конфигуратор;
  2. Перейдите в Администрирование → Выгрузить информационную базу;
  3. Укажите новый путь в диалоговом окне.

Для SQL-баз настройка выполняется на уровне СУБД:

СУБД Как изменить путь бэкапов Пример команды
MS SQL Server Через SQL Server Management Studio или команду BACKUP DATABASE с параметром TO DISK BACKUP DATABASE [YourDB] TO DISK = 'D:\Backups\YourDB.bak'
PostgreSQL В файле postgresql.conf или через утилиту pg_dump с ключом -f pg_dump -U postgres -d YourDB -f /mnt/backups/YourDB.sql
1С:Предприятие (ras) В конфигурации кластера (rac cluster set) или в файле ras.cluster rac cluster set --cluster=MyCluster --backup-dir=D:\1CBackups

Для автоматического перенаправления временных файлов (например, при нехватке места на C:) можно использовать переменные окружения:

  • 📌 TEMP и TMP — для временных файлов ;
  • 📌 USERPROFILE — для перенаправления %APPDATA%.

Изменить их можно через Панель управления → Система → Дополнительные параметры системы → Переменные среды.

💡

Изменение путей бэкапов требует прав администратора и может повлиять на стабильность работы . Всегда тестируйте новые настройки на тестовой базе перед применением в боевой среде.

Типичные ошибки и как их избежать

Даже опытные администраторы иногда сталкиваются с проблемами при обновлении , связанными с неверным управлением резервными копиями и временными файлами. Рассмотрим самые распространённые ошибки и способы их предотвращения.

Ошибка 1: Удаление временных файлов во время обновления

Многие пользователи, увидев, что на диске C: заканчивается место, пытаются очистить папку %TEMP%\1C вручную. Это может привести к:

  • 🚫 Прерыванию процесса обновления;
  • 🔄 Потере промежуточных данных, необходимых для отката;
  • 💥 Повреждению базы, если файлы были заблокированы .

Решение: используйте встроенную утилиту очистки chdbfl.exe (для файловых баз) или дождитесь завершения обновления.

Ошибка 2: Игнорирование логов обновления

Логи содержат информацию о том, где именно сохранены резервные копии и временные файлы. Их можно найти:

  • 📄 Для файловых баз: %APPDATA%\1C\1cv8\logs\1Cv8.log;
  • 📄 Для SQL-баз: логи СУБД (например, ERRORLOG в MS SQL);
  • 📄 Для ras-сервера: %ProgramData%\1C\1cv8\logs\srvinfo.log.

Ошибка 3: Несоответствие версий конфигурации и платформы

Если вы обновляете конфигурацию, но не обновляете платформу , временные файлы могут сохраняться в неожиданных местах или не создаваться вовсе. Всегда проверяйте совместимость версий через:

about

в командной строке 1cv8.

💡

Перед массовым обновлением баз в организации создайте тестовую копию и проверьте, куда сохраняются бэкапы. Это поможет избежать сюрпризов в боевой среде.

Восстановление данных после сбоя обновления

Если обновление прошло с ошибкой, и рабочая база повреждена, восстановить данные можно несколькими способами в зависимости от типа базы и доступных резервных копий.

Для файловых баз (.1CD):

  1. Найдите последний бэкап (_1cv8.bak или _1cv8.old) в папке с базой;
  2. Переименуйте его в 1Cv8.1CD (предварительно сохранив повреждённую базу под другим именем);
  3. Запустите chdbfl.exe для проверки целостности:
chdbfl.exe "C:\Bases\Trade\1Cv8.1CD" /F

Для SQL-баз:

  1. Восстановите последний дамп через SQL Server Management Studio или pg_restore (для PostgreSQL);
  2. Если дампа нет, проверьте папку %ProgramData%\1C\1cv8\backups\ на наличие файлов .dt;
  3. Используйте утилиту v8unpack для извлечения данных из повреждённых файлов:
v8unpack "C:\Backups\YourDB.dt" /F "C:\Restored"

Если бэкапов нет:

  • 🔍 Проверьте скрытые папки (%APPDATA%\1C\, C:\Users\Public\1C\);
  • 📧 Обратитесь в службу поддержки с логами из %LOCALAPPDATA%\1C\1cv8\logs\;
  • 💾 Попробуйте восстановить данные из теневых копий Windows (если включена функция Volume Shadow Copy).

Важно: если база была повреждена из-за прерванного обновления, не пытайтесь открыть её в режиме 1С:Предприятие — это может усугубить проблему. Используйте только Конфигуратор или специализированные утилиты.

💡

Восстановление из бэкапа — последний шанс вернуть данные. Если вы не уверены в своих действиях, обратитесь к специалисту. Неправильные манипуляции с файлами базы могут сделать восстановление невозможным.

FAQ: Частые вопросы о резервных копиях при обновлении 1С

Можно ли отменить обновление, если оно уже началось?

Прервать обновление можно, но это чревато повреждением базы. Если процесс ещё не дошёл до этапа применения изменений (в логах нет строки "Применение изменений конфигурации"), можно безопасно закрыть . В противном случае:

  1. Дождитесь завершения (даже если оно длится долго);
  2. Или восстановите базу из последнего бэкапа (_1cv8.bak).

Прерывание на этапе изменения структуры SQL-базы может потребовать восстановления из дампа СУБД.

Где искать бэкап, если обновление делал не я, а другой администратор?

Проверьте:

  1. Сетевые папки, если обновление шло через ras;
  2. Папку %ProgramData%\1C\1cv8\backups\ (для SQL-баз);
  3. Логи в %APPDATA%\1C\1cv8\logs\ — там может быть путь к бэкапу;
  4. Архивы на сервере (если используется централизованное резервное копирование).

Если ничего не найдено, попробуйте восстановить базу из теневых копий Windows или обратитесь в службу поддержки с указанием версии платформы и конфигурации.

Почему после обновления база не открывается, хотя бэкап есть?

Возможные причины:

  • 🔧 Несоответствие версии платформы и конфигурации (проверьте через about в командной строке 1cv8);
  • 🔐 Отсутствие прав у пользователя на папку с базой;
  • 🗝️ Повреждение файла 1Cv8.1CD (запустите chdbfl.exe /F);
  • 📡 Проблемы с сетевым доступом (если база лежит на сервере).

Решение: восстановите бэкап в новую папку и попробуйте открыть его от имени администратора.

Как уменьшить размер временных файлов при обновлении?

Временные файлы могут занимать до 2–3 объёмов самой базы. Чтобы уменьшить их размер:

  • 🧹 Очистите базу от ненужных данных (Администрирование → Тестирование и исправление);
  • 🗑️ Отключите сохранение истории изменений (в настройках кластера ras);
  • 📁 Перенаправьте временные файлы на другой диск через переменную TEMP;
  • 🔄 Используйте инкрементальные обновления вместо полных.

Для SQL-баз также поможет сжатие дампа через утилиты вроде 7-Zip или встроенные средства СУБД.

Можно ли настроить автоматическое удаление старых бэкапов?

Да, для этого:

  • 📅 В ras-кластере настройте параметр BackupRetentionDays (количество дней хранения бэкапов);
  • 📂 Для файловых баз используйте скрипты на PowerShell или Bash, которые будут удалять файлы старше N дней из папки с бэкапами;
  • 🔄 В MS SQL Server настройте план обслуживания (Maintenance Plan) с задачей очистки;
  • 🐧 В PostgreSQL используйте cron + find для автоматической очистки.

Пример скрипта для Windows:

forfiles /P "C:\Backups\1C" /S /D -30 /C "cmd /c del @file"

Эта команда удалит все файлы старше 30 дней в папке C:\Backups\1C.