Откуда в 1С берутся лишние копии и как их остановить

· 9 мин

Содержание

Создание копий в 1С отключается там, где их делает конкретный механизм. В файловой базе это встроенное резервное копирование в Администрирование → Обслуживание → Резервное копирование и восстановление и резервная копия, которую предлагает помощник обновления программы. В клиент-серверном варианте сама платформа базу не копирует: копии делают задания СУБД (MS SQL, PostgreSQL), а на сервере 1С место съедают дампы, журнал регистрации и прочие данные в каталоге srvinfo.

Поэтому начинайте не с настройки, а с ответа на вопрос: что именно и куда складывается. Таблица ниже помогает найти источник за пару минут.

Кто создаёт копии: найдите источник до отключения

Что вы видитеКто создаётГде отключать
Файлы .zip или каталоги с датой в имени рядом с файловой базой или в папке «Резервные копии»Резервное копирование программы (БСП)Раздел «Администрирование» в самой базе
Копия появляется при каждом обновлении конфигурацииПомощник обновления программыНастройка резервной копии в помощнике обновления
Файлы .bak, .trn на сервере СУБДПлан обслуживания MS SQL или задание SQL AgentSQL Server Management Studio
Файлы дампов .sql, .backup на сервере PostgreSQLСкрипт pg_dump в планировщике или cronПланировщик заданий Windows или crontab
Растёт каталог srvinfoЖурнал регистрации, дампы процессов, кэшиНастройки журнала, logcfg.xml
Растёт каталог хранилища конфигурацииИстория версий хранилищаЭто не копии; уменьшается обслуживанием хранилища

💡 Быстрый способ найти виновника — посмотреть дату и время создания свежей копии. Совпадает с закрытием 1С — это БСП «при завершении работы». Ровно 02:00 каждую ночь — почти наверняка задание СУБД или планировщика.

Где у вас появляются лишние копии?

Отключение автоматического резервного копирования в файловой базе

Типовые конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, УНФ) умеют сами копировать файловую базу. Настройка одна для всех:

  1. Зайдите в базу под пользователем с правами администратора.
  2. Откройте Администрирование → Обслуживание.
  3. Разверните группу «Резервное копирование и восстановление» и перейдите по ссылке настройки резервного копирования.
  4. Выберите вариант без автоматического запуска: снимите выполнение по расписанию и при завершении работы программы.
  5. Сохраните настройку и перезапустите сеанс.

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

Что ещё в этой форме полезно знать:

  • 📁 Там же указан каталог, куда складываются копии. Запомните его: старые файлы после отключения никто не удалит.
  • 🔢 Если копии нужны, но их слишком много, не отключайте механизм, а уменьшите число хранимых копий или срок хранения. Лишние программа удалит сама.
  • 🔔 Напоминание «резервное копирование не выполнялось» в панели программы отключается в этой же настройке. Если вы делаете копии своими средствами, выберите вариант, который сообщает об этом программе.

Отключение имеет смысл, только если копии делает что-то другое: скрипт, облачная синхронизация, копирование каталога базы на NAS. База без единой резервной копии — это риск потерять учёт целиком, а не экономия места.

Копия перед обновлением конфигурации

Помощник Администрирование → Обслуживание → Обновление версии программы перед обновлением файловой базы предлагает создать резервную копию. На шаге с настройкой обновления есть ссылка на параметры резервной копии с тремя вариантами:

ВариантЧто происходитКогда выбирать
Не создавать резервную копиюОбновление идёт без копииКопия сделана вручную непосредственно перед обновлением
Создать временную копиюКопия удаляется после успешного обновленияХотите страховку, но не хотите копить файлы
Создать копию и сохранить в каталогеКопия остаётся в указанной папкеНужна история копий перед обновлениями

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

Клиент-серверная база: копии делает СУБД, а не 1С

В клиент-серверном варианте раздел резервного копирования в программе работать не будет. Это нормально: данные лежат в СУБД, и копировать их должна она. Значит, и искать надо там.

MS SQL Server

  1. Откройте SQL Server Management Studio и подключитесь к экземпляру.
  2. Разверните Management → Maintenance Plans. Здесь лежат планы обслуживания с задачами Back Up Database.
  3. Разверните SQL Server Agent → Jobs. Планы обслуживания тоже превращаются в задания агента, а ещё здесь бывают задания, созданные скриптами.
  4. Чтобы остановить копирование, не удаляя план, отключите задание: правой кнопкой по заданию → Disable.
  5. Если нужно убрать одну базу из плана, откройте план и в задаче резервного копирования снимите эту базу из списка.

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

SELECT TOP (20)
       database_name,
       backup_start_date,
       type,               -- D полная, I разностная, L журнал
       physical_device_name
FROM msdb.dbo.backupset b
JOIN msdb.dbo.backupmediafamily m ON b.media_set_id = m.media_set_id
ORDER BY backup_start_date DESC;

По physical_device_name видно, куда пишутся файлы. Если в списке есть путь, которого нет ни в одном плане, копию делает внешняя программа резервного копирования.

Если база в модели восстановления FULL, отключать резервное копирование журнала транзакций нельзя. Без него файл .ldf будет расти до заполнения диска. Либо оставьте копирование журнала, либо осознанно переведите базу в модель SIMPLE.

PostgreSQL

Встроенного планировщика копий у PostgreSQL нет. Копии делает pg_dump или pg_basebackup, которые запускает:

  • 🪟 на Windows — планировщик заданий (taskschd.msc), ищите задачи с pg_dump в действии;
  • 🐧 на Linux — cron: проверьте crontab -l у пользователей root и postgres и каталог /etc/cron.d/;
  • 🧩 сторонние средства резервного копирования, у которых своё расписание.

Отключение — снятие задачи или комментирование строки в crontab. Перед этим убедитесь, что вы не отключаете единственную копию.

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

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

Откройте консоль администрирования серверов 1С, разверните информационную базу и посмотрите, есть ли у неё копии баз данных. Ненужную копию удалите там же. Если узла нет или он пустой, этот механизм у вас не используется.

Каталог srvinfo: что в нём растёт и как это остановить

Каталог srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo) часто принимают за склад копий. Копий баз там нет. Там лежат:

  • 📋 реестр кластера reg_1541\1CV8Clst.lst — список баз и настроек, его не трогают;
  • 🗂️ каталоги с GUID баз в reg_1541 — журнал регистрации 1Cv8Log, индекс полнотекстового поиска, служебные кэши;
  • 🔁 каталоги snccntx… — сеансовые данные;
  • 💥 дампы аварийно завершённых процессов, если их сбор включён.

Журнал регистрации

Больше всего места обычно занимает 1Cv8Log. Уровень и разбиение журнала задаются в Конфигураторе: Администрирование → Настройка журнала регистрации. Там можно:

  1. Понизить уровень регистрации, например оставить только ошибки.
  2. Включить разделение журнала по периодам, чтобы старые файлы можно было архивировать.
  3. Сократить журнал, выгрузив и удалив записи старше выбранной даты.

Полностью отключать журнал («Не регистрировать») не советую: при разборе инцидента вы останетесь без данных о том, кто и что менял.

Дампы процессов

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

<config xmlns="http://v8.1c.ru/v8/tech-log">
  <dump create="false"/>
</config>

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

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

Параметры запуска агента сервера 1С

Ключа запуска, который «выключает копии», у агента сервера нет. Параметры командной строки ragent задают порты и расположение каталога данных. Это полезно, когда копий нет, а системный диск всё равно забит: каталог srvinfo можно перенести на другой диск.

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

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

Что здесь важно:

  • -d — каталог данных кластера, то есть srvinfo;
  • -port 1540 и -regport 1541 — порты агента и менеджера кластера;
  • -range — диапазон портов рабочих процессов;
  • -debug — разрешает отладку на сервере; в рабочей системе его обычно убирают.

Посмотреть текущую строку можно командой sc qc с именем службы агента. Имя службы видно в оснастке services.msc.

Порядок переноса srvinfo:

  1. Предупредите пользователей и выберите время вне рабочих часов: остановка службы обрывает все сеансы на сервере.
  2. Остановите службу агента сервера 1С.
  3. Скопируйте каталог srvinfo целиком на новый диск.
  4. Поменяйте значение -d в строке запуска службы (через sc config или реестр).
  5. Запустите службу, откройте консоль и проверьте, что кластер и список баз на месте.
  6. Старый каталог удаляйте через несколько дней, когда убедитесь, что всё работает.

Хранилище конфигурации: версии, а не копии

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

Что реально можно сделать:

  • 🧹 Выполнить оптимизацию данных хранилища в окне администрирования хранилища в Конфигураторе. Это уменьшает размер файла без потери версий.
  • 🏷️ Отмечать стабильные версии метками, чтобы проще находить нужную среди сотен.
  • 🆕 Если история стала неподъёмной, создать новое хранилище из текущей конфигурации, а старое сохранить в архив только для чтения.

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

Каталог хранилища на сервере (файл 1cv8ddb.1CD и сопутствующие) не чистят вручную. Удалённый «лишний» файл может сделать хранилище нечитаемым.

Проверка: копии больше не появляются

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

  1. Файловая база. Каталог резервных копий: новых файлов с сегодняшней датой нет.
  2. MS SQL. Запрос к msdb.dbo.backupset выше: последних записей по базе нет, задание в SQL Server Agent → Jobs помечено как отключённое.
  3. PostgreSQL. В crontab -l нужная строка закомментирована, а в планировщике Windows у задачи статус «Отключено».
  4. srvinfo. Размер каталога перестал расти, новых дампов нет.

Чтобы быстро найти самые крупные свежие файлы на диске Windows, используйте PowerShell:

Get-ChildItem D:\ -Recurse -File -ErrorAction SilentlyContinue |
  Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) } |
  Sort-Object Length -Descending |
  Select-Object -First 20 FullName, @{n='MB';e={[math]::Round($_.Length/1MB)}}, LastWriteTime

Если в списке остаются файлы копий, значит, есть ещё один источник. Чаще всего это сторонний агент резервного копирования или забытая задача в планировщике.

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

После копирования базы появилось окно «Информационная база перемещена или восстановлена из резервной копии». Это про создание копий?
Нет. Программа заметила, что база работает по новому адресу, и спрашивает, копия это или перенос. Для тестовой копии выберите вариант «Это копия», чтобы она не отправляла данные во внешние сервисы.
Как запретить тестовой копии на сервере выполнять регламентные задания?
В консоли администрирования откройте свойства этой информационной базы и включите блокировку регламентных заданий. Обмены и загрузки в тестовой копии перестанут запускаться.
Можно ли удалить старые резервные копии, сделанные программой?
Да, это обычные файлы. Оставьте хотя бы одну свежую копию, проверенную восстановлением, остальное удаляйте.
Почему файловая база не копируется по расписанию, хотя настройка включена?
Копирование по расписанию запускается из клиентского сеанса. Если в нужное время программа никем не открыта, копия не создаётся.
Влияет ли отключение копий на скорость работы 1С?
На работу пользователей влияет только копирование, идущее в рабочее время. Перенесите его на ночь, и отключать не придётся.