Как перенаправить запись временных файлов из папки C:\Users\USR1CV8\AppData\Local\Temp\ на другой диск

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При активной работе сервера 1С:Предприятие системный диск C: часто переполняется временными файлами. Основным источником "мусора" является папка Temp пользователя, под которым запущена служба сервера (обычно это USR1CV8). Стандартные средства очистки не всегда справляются, а нехватка места приводит к аварийному завершению рабочих процессов rphost. В этой статье мы разберем несколько эффективных способов переноса этой папки на другой диск, проанализируем нюансы прав доступа и выясним, как правильно настроить окружение без интерактивного входа в систему.

Метод 1. Использование символьных ссылок (mklink)

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

Важное замечание: Для работы с системными папками крайне рекомендуется использовать "соединение для директорий" (Junction), которое создается ключом /J. Это гарантирует, что ссылка будет доступна всем процессам без дополнительных настроек политик безопасности.

  1. Остановим службу Агент сервера 1С:Предприятие 8.3.
  2. Перейдем в каталог C:\Users\USR1CV8\AppData\Local\.
  3. Скопируем папку Temp на новый диск (например, в D:\1C_Temp).
  4. Удалим (или переименуем для страховки) оригинальную папку Temp на диске C:.
  5. Запустим командную строку от имени администратора и выполним следующую команду:

mklink /J "C:\Users\USR1CV8\AppData\Local\Temp" "D:\1C_Temp"

Проанализируем результат: теперь при обращении к старому пути Windows будет автоматически перенаправлять запись на диск D:. Это решение не требует правки реестра и сохраняется после перезагрузки сервера.

Метод 2. Изменение переменных окружения через реестр

Если вы предпочитаете "чистую" настройку без использования ссылок, можно указать операционной системе, что для пользователя USR1CV8 переменные TEMP и TMP указывают на другой путь. Сложность заключается в том, что обычно под этой учетной записью нельзя войти в систему интерактивно.

Для решения этой задачи воспользуемся редактированием реестра через идентификатор безопасности (SID). Выполним следующие действия:

  1. Выясним SID пользователя USR1CV8. Для этого в командной строке введем:

wmic useraccount where name='USR1CV8' get sid

  1. Откроем редактор реестра regedit и перейдем в ветку:

HKEY_USERS\%ВАШ_SID%\Environment

Где %ВАШ_SID% — это строка, полученная на предыдущем шаге. В этом разделе мы увидим два строковых параметра: TEMP и TMP. Изменим их значения на нужный путь, например, D:\1C_Temp. Рассмотрим ситуацию, когда записи в реестре вступят в силу: для того чтобы служба 1С подхватила новые переменные, потребуется перезагрузка сервера или как минимум полный перезапуск службы агента 1С.

Метод 3. Использование специфической переменной V8_TMPDIR

Малоизвестный, но крайне эффективный метод заключается в использовании внутренней переменной самой платформы 1С. Платформа 1C:Предприятие при поиске пути для временных файлов сначала проверяет наличие переменной V8_TMPDIR.

Если мы установим эту переменную в системных свойствах сервера, 1С будет игнорировать системные настройки TEMP и использовать указанный нами путь. Это позволяет избежать конфликтов с другими приложениями, которым может быть необходим Temp именно на диске C:.

Для настройки выполним:

  1. Зайдем в Свойства системы -> Дополнительно -> Переменные среды.
  2. В разделе "Системные переменные" создадим новую переменную:

Имя переменной: V8_TMPDIR
Значение переменной: D:\1C_Temp

После этого перезагрузим службу 1С. Теперь все временные файлы, создаваемые именно платформой, будут аккумулироваться в указанном месте.

Метод 4. Настройка параметров запуска службы ragent.exe

Важно различать системный Temp и внутренний кеш сервера 1С (папку srvinfo). Если ваша цель — перенести вообще все данные сервера 1С с диска C:, необходимо отредактировать строку запуска службы в реестре.

Найдем ветку реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (название может отличаться в зависимости от версии).

В параметре ImagePath добавим ключ -d, указывающий на новый путь к данным сервера:


"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\1C_Data"

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

Анализ проблем с правами доступа (NTFS)

Часто после переноса папки пользователи сталкиваются с ошибками вида "Ошибка при создании временного файла" или проблемами в работе внешних модулей (например, модуля обмена с Битрикс). Разберем причину.

При создании новой папки на диске D: она не наследует права доступа, которые были у пользователя USR1CV8 в его профиле на диске C:. Выясним, какие права необходимо установить:

Рекомендации по оптимизации

Перенося Temp на другой диск, проанализируйте тип этого носителя. 1С крайне чувствительна к скорости дисковых операций (latency). Если вы перенесете Temp на медленный сетевой диск или старый HDD, производительность сервера может значительно упасть. Идеальный вариант — выделенный раздел на быстром SSD или NVMe накопителе.

Также не забудьте исключить новую папку D:\1C_Temp из проверки антивирусом. Постоянное сканирование временных файлов 1С антивирусным ПО — одна из главных причин "тормозов" и блокировок файлов в многопользовательском режиме.

← На главную