Куда 1С складывает временные файлы и как их безопасно удалить
Содержание
Клиентский кэш 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% рабочего места и учётной записи службы | Стандартной очисткой диска |
Клиентский кэш — это локальная копия конфигурации, скомпилированные формы и служебные файлы соединения. Он ускоряет запуск, но после обновления базы иногда «залипает»: формы открываются по-старому, появляются ошибки чтения кэша. Серверные же временные данные — это сеансовые контексты, полнотекстовый индекс и журналы, которые растут вместе с нагрузкой на базу.
Чтобы не чистить лишнего, определите по симптому, что именно вам нужно.
%LOCALAPPDATA%\1C\1cv8\.%LOCALAPPDATA%\1C\1cv8\; настройки и список баз не трогаем.Как очистить клиентский кэш 1С
Это самый частый случай и самая безопасная операция: данные в базе не затрагиваются, теряется только локальная копия, которую 1С восстановит при следующем запуске.
Файлы кэша заняты, пока открыт хоть один сеанс. Закройте тонкий и толстый клиент, Конфигуратор, а также фоновые подключения: веб-клиент в браузере, внешние соединения через COM. Иначе папки не удалятся или удалятся частично.
Порядок действий:
- Закройте все окна 1С на этом компьютере.
- Откройте проводник, в адресную строку вставьте
%LOCALAPPDATA%\1C\1cv8\и нажмите Enter. - Внутри увидите папки с длинными именами из букв и цифр — по одной на каждое подключение к базе. Удалите эти вложенные папки.
- Повторите для пути
%APPDATA%\1C\1cv8\— там тоже бывает кэш. - Запустите 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, что выше.
Планируя ночной перезапуск, убедитесь, что к этому времени завершаются регламентные задания и фоновые обмены, иначе прервёте их на середине. Для большинства небольших баз перезапуск раз в сутки не нужен вовсе — достаточно сокращения журнала и контроля техжурнала.
Чек-лист разового наведения порядка на сервере: