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

· 9 мин

Содержание

Клиентский кэш 1С лежит в %LOCALAPPDATA%\1C\1cv8\ и %APPDATA%\1C\1cv8\, а временные и сеансовые данные сервера — в каталоге данных кластера (srvinfo). Чтобы освободить место на диске и убрать сбои интерфейса, закройте все сеансы 1С и удалите папки кэша; серверные временные данные сбрасываются при перезапуске службы агента.

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

Разберёмся, что именно удалять безопасно, что трогать нельзя, и как настроить, чтобы место не кончалось снова.

Какие файлы 1С называет временными

Временные данные 1С разбросаны по нескольким местам. Прежде чем что-то удалять, важно понимать, где они лежат и чем грозит удаление.

Тип файловГде лежитКак чистить
Клиентский кэш%LOCALAPPDATA%\1C\1cv8\, %APPDATA%\1C\1cv8\Удалением при закрытой 1С
Сеансовые и временные данные кластеракаталог данных кластера (srvinfo)Перезапуском службы агента
Журнал регистрациивнутри каталога кластера, папка 1Cv8LogСокращением из Конфигуратора
Полнотекстовый индексвнутри каталога данных кластераПерестроением индекса
Технологический журналкаталог, заданный в logcfg.xmlУдалением файлов + правкой logcfg.xml
Временные файлы ОС%TEMP% рабочего места и учётной записи службыСтандартной очисткой диска

Клиентский кэш — это локальная копия конфигурации, скомпилированные формы и служебные файлы соединения. Он ускоряет запуск, но после обновления базы иногда «залипает»: формы открываются по-старому, появляются ошибки чтения кэша. Серверные же временные данные — это сеансовые контексты, полнотекстовый индекс и журналы, которые растут вместе с нагрузкой на базу.

Чтобы не чистить лишнего, определите по симптому, что именно вам нужно.

Что именно чистить в вашем случае?

Как очистить клиентский кэш 1С

Это самый частый случай и самая безопасная операция: данные в базе не затрагиваются, теряется только локальная копия, которую 1С восстановит при следующем запуске.

Файлы кэша заняты, пока открыт хоть один сеанс. Закройте тонкий и толстый клиент, Конфигуратор, а также фоновые подключения: веб-клиент в браузере, внешние соединения через COM. Иначе папки не удалятся или удалятся частично.

Порядок действий:

  1. Закройте все окна 1С на этом компьютере.
  2. Откройте проводник, в адресную строку вставьте %LOCALAPPDATA%\1C\1cv8\ и нажмите Enter.
  3. Внутри увидите папки с длинными именами из букв и цифр — по одной на каждое подключение к базе. Удалите эти вложенные папки.
  4. Повторите для пути %APPDATA%\1C\1cv8\ — там тоже бывает кэш.
  5. Запустите 1С. Первый вход будет чуть дольше обычного: кэш собирается заново.

Если непонятно, какая папка относится к нужной базе, удаляйте их все — платформа пересоздаст каждую при подключении. Не удаляйте саму папку 1cv8, только вложенные папки-хэши.

Папки с именами-хэшами — это и есть «отпечаток» строки соединения. Один сервер и база дают одно имя, файловая база по сетевому пути — другое. Поэтому у пользователя несколько таких папок, если он работает с разными базами.

Чего делать не нужно: не удаляйте файл ibases.v8i в %APPDATA%\1C\1CEStart\ — это список ваших баз в окне запуска. Удалите его — и список придётся собирать заново.

На терминальном сервере (RDP), где с одной машины работают десятки пользователей, кэш у каждого свой — в его профиле C:\Users\<логин>\AppData\.... Поэтому чистка кэша одному пользователю не поможет другому, и место суммарно съедают все профили сразу. На таких серверах за кэшем следят скриптом при входе в сессию, а не вручную по одному.

Временные и сеансовые данные на сервере 1С

На клиент-серверной базе основной объём временных данных живёт в каталоге данных кластера. По умолчанию при установке сервера службой это C:\Program Files\1cv8\srvinfo\, но путь могли задать свой при установке.

Внутри лежит папка вида reg_1541 (по номеру порта кластера), в ней — реестр кластера 1CV8Reg.lst и подпапки по каждой базе с её сеансовыми данными, полнотекстовым индексом и журналом. Сеансовые данные и временное хранилище сеанса освобождаются автоматически, когда пользователь завершает работу. Проблема возникает, если сеансы «висят» неделями или служба ни разу не перезапускалась.

Самый чистый способ сбросить накопившиеся сеансовые данные — перезапустить службу агента сервера:

net stop "1C:Enterprise 8.3 Server Agent"
net start "1C:Enterprise 8.3 Server Agent"

Перезапуск службы обрывает ВСЕ сеансы всех баз кластера. Несохранённые данные пользователей теряются, выполняющиеся документы прерываются. Делайте это только в окно обслуживания, когда в базе никого нет, и предупредите пользователей заранее.

Посмотреть, кто сейчас в базе и сколько сеансов висит, можно консолью администрирования серверов (оснастка MMC) или утилитой rac из командной строки:

rac cluster list
rac session list --cluster=<идентификатор кластера>

Идентификатор кластера rac выдаёт первой командой. Завершить конкретный зависший сеанс тоже можно — точные параметры команды смотрите в rac help, чтобы не ошибиться с синтаксисом. Освобождение зависших сеансов снимает их временные данные без полного перезапуска.

Отдельно учтите: консоль администрирования не имеет кнопки «очистить временные файлы ». Она позволяет видеть и завершать сеансы и соединения — а освобождение временных данных происходит как следствие их завершения.

Что можно удалять вручную, а что трогать нельзя

Ручное удаление через проводник уместно для клиентского кэша и временных файлов ОС. На сервере ручная чистка опаснее — легко повредить реестр кластера.

Безопасно удалять:

  • 🗑 Вложенные папки-хэши в %LOCALAPPDATA%\1C\1cv8\ и %APPDATA%\1C\1cv8\ — клиентский кэш.
  • 🗑 Содержимое %TEMP% на рабочем месте — туда 1С пишет временные файлы при печати, выгрузке, обмене. Занятые файлы Windows просто пропустит.
  • 🗑 Старые файлы технологического журнала, если он включён (о нём ниже).

Не трогать вручную:

  • ⛔ Файлы внутри reg_1541, пока служба запущена, — повредите реестр кластера.
  • ⛔ Файл 1CV8Reg.lst — это список зарегистрированных баз и настройки кластера. Удалив его, вы потеряете все зарегистрированные на сервере базы и центральные настройки.
  • ⛔ Файлы самой информационной базы (1Cv8.1CD у файловой базы) — это не временные данные, это ваши данные.

Если нужно именно сбросить каталог кластера целиком (например, при переустановке сервера), сначала остановите службу, а затем переносите каталог — удаление «на горячую» приводит к разрушению кластера и потере списка баз.

Для файловой базы отдельного кластера нет: там есть только клиентский кэш и временные файлы ОС, плюс служебные файлы рядом с 1Cv8.1CD (например, файл блокировки). Файл блокировки удаляют только при закрытой базе и при полной уверенности, что в ней никто не работает .

Полнотекстовый индекс, журнал и техжурнал: главные пожиратели места

Когда диск сервера заполняется, виноват обычно не «мусор», а три штатных механизма, которые растут без присмотра.

Журнал регистрации. Хранит действия пользователей и ошибки, лежит в каталоге данных кластера (папка 1Cv8Log). За годы работы разрастается до десятков гигабайт. Сократить его можно из Конфигуратора: меню Администрирование → Настройка журнала регистрации, там задаётся период хранения и запускается сокращение. Перед сокращением при необходимости выгрузите старые записи в файл.

На современных платформах журнал хранится одним файлом 1Cv8.lgd, на старых — набором файлов. В обоих случаях удалять их руками на работающей базе не стоит: сокращение из Конфигуратора делает то же самое корректно и без риска для открытой базы.

Полнотекстовый индекс. Если в базе включён полнотекстовый поиск, его индекс лежит в каталоге данных кластера и фрагментируется. Переиндексация (обновление индекса) уплотняет его и возвращает место. Управление полнотекстовым поиском находится в разделе администрирования конфигурации — ищите пункт про поиск данных или обслуживание; в толстом клиенте это режим управления полнотекстовым поиском.

Технологический журнал. Это не журнал регистрации, а отладочный лог платформы. Он выключен по умолчанию, но если кто-то включал его для разбора проблемы и забыл выключить, файлы заполняют диск очень быстро. Проверьте файл logcfg.xml в папке conf платформы (C:\Program Files\1cv8\conf\ или в профиле пользователя) — в нём указан каталог логов и срок хранения. Лишние файлы удалите, а при необходимости уберите или поправьте logcfg.xml.

Диагностика места на диске сводится к простому действию: оцените размер папок. Откройте свойства каталога данных кластера и каталога технологического журнала, сравните размеры подпапок. Удобно это делать любым бесплатным анализатором дискового пространства — он покажет дерево папок по весу. Чаще всего верхние строчки занимают именно журнал регистрации и техжурнал.

Если на том же диске лежит база СУБД (например, файлы MS SQL или PostgreSQL), её размер к временным файлам 1С не относится — это сами данные. Чистить их удалением файлов нельзя.

Регулярная очистка по расписанию

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

На рабочих местах удобно повесить .bat-файл в Планировщик заданий Windows (Пуск → Планировщик заданий). Скрипт удаляет кэш при закрытой 1С — например, запуском при входе пользователя в систему, пока сеансы ещё не открыты:

rmdir /s /q "%LOCALAPPDATA%\1C\1cv8"

Папка 1cv8 пересоздастся при первом запуске 1С. Скрипт сработает корректно только если в момент его выполнения 1С закрыта — поэтому его ставят на вход в систему, а не на середину рабочего дня.

На сервере автоматизируют две вещи:

  • Сокращение журнала регистрации — настраивается один раз в Конфигураторе (период хранения), дальше платформа держит журнал в заданных рамках.
  • Ночной перезапуск службы агента — заданием в Планировщике по ночам, если сеансы имеют свойство зависать. Команды — те же net stop / net start, что выше.

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

Чек-лист разового наведения порядка на сервере:

Освобождаем место на сервере 1С
Выполнено: 0 / 5

Частые вопросы

Удаление кэша сотрёт мои настройки и данные?
Нет. Клиентский кэш — это копия конфигурации и служебные файлы соединения. Ваши данные хранятся в базе, а пользовательские настройки форм (отборы, порядок колонок) — в хранилище настроек внутри информационной базы, не в кэше. После очистки они останутся на месте.
Почему в папке `1cv8` столько папок с непонятными именами?
Это кэш по одной папке на каждое подключение к базе. Имя — хэш строки соединения, поэтому для разных серверов и баз имена разные. Удалять эти папки безопасно: нужные пересоздадутся.
Можно почистить кэш, не закрывая 1С?
Нет. Файлы заняты работающим процессом. Нужно закрыть все клиенты и Конфигуратор, а также фоновые подключения — веб-клиент в браузере и внешние COM-соединения, иначе часть файлов не удалится.
Как часто нужно чистить временные файлы?
По необходимости, а не по графику. Клиентский кэш — когда появились сбои интерфейса после обновления. Серверные журналы лучше не чистить вручную, а настроить автоматическое сокращение и забыть.
Безопасно ли перезапускать службу кластера среди дня?
Нет. Перезапуск обрывает все сеансы всех баз, несохранённые данные теряются, а выполняемые документы и обмены прерываются. Делайте это только в окно обслуживания и предупредив пользователей.