Администрирование серверов 1С:Предприятие на базе операционных систем семейства Linux требует глубокого понимания файловой структуры и механизмов работы платформы. Одним из критически важных аспектов поддержки производительности является контроль за временными файлами и кэшем. Со временем эти данные накапливаются, занимая дисковое пространство и потенциально замедляя работу кластера.
В отличие от Windows, где пути часто стандартизированы и скрыты в реестре или AppData, в Linux структура каталогов более прозрачна, но требует точного знания иерархии. Кэш 1С может располагаться в нескольких местах в зависимости от того, запускается ли приложение в файловом варианте или через клиент-серверную архитектуру с использованием ragent.
Некорректная работа кэша часто проявляется в виде ошибок при запуске конфигураций, зависаниях интерфейса или проблемах с обновлением платформы. Понимание того, где физически хранятся эти данные, позволяет администратору быстро диагностировать сбои и выполнять профилактическую очистку без остановки всего сервиса, если это возможно.
Архитектура хранения временных данных в Linux
Файловая система Linux строго разделяет пространства для разных пользователей и процессов. Для сервера 1С по умолчанию создается специальный системный пользователь, обычно называемый usr1cv83. Именно от имени этого пользователя запускаются основные процессы кластера, и именно в его домашней директории или системных временных папках хранится большая часть кэша.
Важно различать кэш клиентской части и кэш серверной части. Клиентский кэш формируется на рабочей станции пользователя (даже если это тонкий клиент на Linux), тогда как серверный кэш связан с процессами rphost и rmngr. В контексте администрирования сервера нас интересует прежде всего серверная часть, так как она влияет на общую нагрузку на дисковую подсистему.
Стандартные пути могут быть изменены при установке или через переменные окружения. Однако, если конфигурация не менялась вручную, система следует общепринятым стандартам FHS (Filesystem Hierarchy Standard). Это означает, что временные файлы процессов, запущенных от имени пользователя, часто попадают в директорию /tmp или специфические подкаталоги внутри домашней директории пользователя службы.
⚠️ Внимание: Никогда не удаляйте файлы кэша вручную, пока процессы 1С активны. Это может привести к повреждению сеансов данных и нестабильной работе кластера. Всегда останавливайте соответствующие службы перед принудительной очисткой.
Используйте утилиту lsof для проверки открытых файлов перед удалением: lsof -u usr1cv83 | grep /tmp покажет, какие файлы сейчас используются процессом.
Расположение кэша при клиент-серверном варианте
При работе в режиме клиент-сервер основная нагрузка по обработке запросов ложится на процессы рабочих процессов (working processes). Кэш в этом случае используется для хранения промежуточных результатов вычислений, скомпилированных байт-кодов и временных таблиц. По умолчанию эти данные размещаются в каталоге временных файлов пользователя, под которым запущен сервер.
Чаще всего путь выглядит как /tmp/rac или подкаталоги внутри /home/usr1cv83/.1cv8. Структура папок внутри .1cv8 может быть сложной, так как платформа создает уникальные идентификаторы для каждого сеанса и базы данных. Внутри вы найдете папки с именами, состоящими из хешей, где хранятся файлы с расширениями .tmp, .cdx и другие служебные форматы.
Для точного определения пути можно воспользоваться командной строкой. Если вы знаете PID процесса rphost, можно посмотреть его символические ссылки на открытые файлы. Это надежный способ найти актуальное расположение, даже если стандартные пути были перенастроены в файле конфигурации srvinfo.
Особое внимание следует уделить параметру CachePath в настройках кластера. Если он задан явно, все временные данные будут писаться туда, игнорируя стандартные системные переменные. Проверить текущие настройки можно через консольную утилиту rac, запросив свойства кластера.
Кэш в файловом варианте работы базы
В файловом варианте работы база данных представляет собой набор файлов в общей сетевой папке или локальном каталоге. Здесь кэш играет роль буфера для ускорения доступа к данным, особенно при монопольных блокировках или интенсивной записи. Расположение кэша в этом сценарии привязано к профилю пользователя, запускающего клиентское приложение 1С.
Обычно данные сохраняются в скрытой папке .1cv8 в домашнем директории пользователя Linux. Полный путь часто выглядит как /home/username/.1cv8/1Cv8/. Внутри этой структуры находятся подпапки с именами баз данных, где и лежат файлы кэша. Очистка этих данных может потребоваться, если клиентское приложение"запомнило" некорректное состояние интерфейса или структуры метаданных.
При работе через терминальный сервер (например, ThinClient или публикация через веб-сервер) кэш может формироваться в временных директориях самого терминального сервиса, а не в домашней папке пользователя. Это важно учитывать при планировании дискового пространства на сервере терминалов, так как рост кэша может быть очень быстрым при большом количестве одновременных сессий.
| Тип кэша | Типовое расположение | Владелец файлов | Риск удаления |
|---|---|---|---|
| Кэш метаданных | ~/.1cv8/1Cv8/... | Пользователь | Низкий (пересоздается) |
| Временные файлы сервера | /tmp/rac или /var/tmp | usr1cv83 | Средний (нужна остановка) |
| Кэш компоновки данных | ~/.1cv8/1Cv8/... | Пользователь | Низкий |
| Лог-файлы процессов | /var/log/1c | root/usr1cv83 | Отсутствует |
В файловом варианте кэш находится в домашней директории пользователя, а в клиент-серверном — в пространстве процесса сервера 1С.
Инструменты командной строки для анализа
Для эффективного управления дисковым пространством администратору необходимо владеть набором стандартных утилит Linux. Команда du (disk usage) позволяет оценить размер каталогов, а find помогает искать файлы по времени создания или размеру. Например, поиск файлов старше 7 дней в директории кэша может выявить кандидатов на удаление.
Используйте команду ls -la для просмотра скрытых файлов, так как папка .1cv8 по умолчанию не отображается при обычном листинге. Для анализа места конкретным процессом можно воспользоваться утилитой lsof с фильтром по имени пользователя службы 1С. Это покажет все открытые дескрипторы файлов.
find /home/usr1cv83/.1cv8 -type f -mtime +7 -size +10M
Эта команда найдет файлы в профиле пользователя, которые не изменялись более 7 дней и имеют размер более 10 мегабайт. Такой подход позволяет точечно удалять старый"мусор", не затрагивая свежие данные активных сеансов. Всегда проверяйте результат команды find перед добавлением флага -delete.
☑️ Аудит дискового пространства
Процедура безопасной очистки кэша
Очистка кэша — это плановая операция, которую следует включать в регламент технического обслуживания. Перед началом процедуры необходимо убедиться, что на сервере не активных пользовательских сеансов, которые могут пострадать от удаления временных файлов. Рекомендуется выполнять эти действия в ночное время или в выходные.
Сначала остановите службу сервера 1С. В большинстве дистрибутивов это делается через системный менеджер инициализации. Команда может отличаться в зависимости от версии ОС и способа установки платформы (deb/rpm пакеты или ручная установка).
systemctl stop svc1cv83
После остановки сервиса можно смело удалять содержимое временных папок. Не удаляйте сами директории, лучше очищайте их содержимое, чтобы сохранить права доступа и структуру. Для кэша пользовательских профилей очистку можно проводить выборочно, удаляя папки баз, которые больше не используются или вызывают ошибки.
⚠️ Внимание: Параметры запуска и пути к кэшу могут отличаться в зависимости от версии платформы 1С и конкретного дистрибутива Linux. Всегда сверяйтесь с официальной документацией для вашей версии перед массовым удалением файлов.
Что делать если диск переполнен срочно?
Если место закончилось критически и сервер упал, можно попробовать удалить файлы из /tmp, принадлежащие пользователю 1С, не останавливая сервис, но это рискованно. Лучше выделить место временно и провести плановую очистку после остановки.
Автоматизация обслуживания через cron
Ручная очистка хороша для разовых акций, но для поддержания здоровья системы лучше настроить автоматический скрипт. Планировщик задач cron позволяет запускать скрипт очистки в заданное время. Скрипт должен содержать логику проверки активности процессов, чтобы не удалить нужные файлы во время работы.
Пример простой логики скрипта: проверить, запущен ли процесс rphost. Если нет — выполнить очистку старых файлов. Если да — записать предупреждение в лог администратора. Такой подход минимизирует риски простоя из-за человеческой ошибки или забывчивости.
Также стоит настроить мониторинг свободного места на разделах, где хранится кэш. Системы мониторинга (Zabbix, Prometheus) могут отправлять алерты при заполнении раздела более чем на 80%. Это даст запас времени на реакцию до того, как сервисы начнут отказывать из-за отсутствия места для записи временных данных.
Добавьте в скрипт очистки отправку отчета на email администратора с указанием объема освобожденного места. Это поможет отслеживать динамику роста мусора.
Можно ли очистить кэш без остановки сервера 1С?
Технически возможно удалить файлы, которые не заблокированы процессом, но это крайне не рекомендуется. Платформа 1С может попытаться обратиться к удаленному файлу кэша, что приведет к ошибке в сеансе или аварийному завершению процесса рабочего сервера. Безопаснее остановить службу.
Где найти логи ошибок, связанных с кэшем?
Основной журнал событий сервера 1С находится в каталоге, указанном в настройках кластера (обычно это подпапка log в каталоге srvinfo). Также стоит проверять системные логи /var/log/syslog или /var/log/messages на предмет ошибок ввода-вывода (I/O errors).
Влияет ли очистка кэша на скорость работы после перезапуска?
Да, первый запуск после очистки будет медленнее обычного. Платформе потребуется время на повторное формирование кэша метаданных и компиляцию модулей. Однако в долгосрочной перспективе это устраняет фрагментацию и ошибки, повышая стабильность работы.
Как изменить путь к кэшу по умолчанию?
Путь можно изменить через переменные окружения (например, TMPDIR) перед запуском процесса или через параметры в файле конфигурации кластера серверов 1С. Для клиентских частей настройки часто хранятся в файлах предпочтений пользователя.