Резервное копирование и обслуживание базы данных

08.07.10

База данных - Архивирование (backup)

Скрипты для обслуживания базы данных и её архивирования.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Архив с описанными файлами
.rar 1,50Kb
114
114 Скачать (1 SM) Купить за 1 850 руб.

Вот прочёл публикацию (картинку от туда же позаимствовал, понравилась) и решил написать как эти дела организовываю я. Тоже все по простецки.

Итак. Есть два файла параметров запуска 1С в пакетном режиме.

Файл Recalc.prm. Параметры запуска для пересчета итогов и переиндексации.

[GENERAL]
Output=m:\tradedb\wdb\recalc.log
Quit=1
CheckAndRepair=1

[CheckAndRepair]
Repair=1
PhysicalIntegrity=0
Reindex=1
LogicalIntegrity=0
RecalcSecondaries=1
RecalcTotals=1
Pack=0

Файл Reindex.prm. Параметры запуска для переиндексации.

[GENERAL]
Output=m:\tradedb\wdb\reindex.log
Quit=1
CheckAndRepair=1

[CheckAndRepair]
Repair=1
PhysicalIntegrity=0
Reindex=1
LogicalIntegrity=0
RecalcSecondaries=0
RecalcTotals=0
Pack=0

Такие файлы впринципе держу для каждой базы данных (количество баз у разных клиентов разное, например в аудиторской их около четырех десятков).

Для собственно архивирования баз использую bat-файл с именем ArchDB.bat

rar a -pkc9d9fs76cvk4 -k -ac -agYYYYMMDDHH -ep1 -ilog -m5 -md4096 -r -s -y -x*.cdx -x*.mxl %1 %2

rem пароль kc9d9fs76cvk4
rem -k Заблокировать архив
rem -ac Снять атрибут "Архивный" после архивации или извлечения
rem -agYYYYMMDDHH за имя архива берется текущие дата и час, дата записанна в обратном порядке, для правильной сортировки архивов по дате.
rem -ep1 Исключить базовый каталог из имен
rem -ilog Записывать протокол ошибок в файл (в зарегистрированной версии)
rem -m5 Метод сжатия - максимум
rem -md4096 Размер словаря 4 Мб
rem -r Рекурсивно с подкаталогами
rem -s Создать непрерывный архив
rem -y Отвечать 'Да' на все запросы
rem -x*.cdx -x*.mxl исключить из архива файлы cdx и mxl (это когда бухи для переноса данных используют каталог базы данных, фалы нужны 1 раз, а размерчики у них не слабые)

Для запуска архивирования базы данных - файл ArchTradeDB.bat

Call ArchDB D:\Archivs\TradeDB\T M:\TradeDB\WDB\*.*

rem Вызывается батник ArchDB с параметрами
rem D:\Archivs\TradeDB\T путь к каталогу хранения архива (первая буква в имени архива будет T).

Для хранения архивов используется носитель отличный от носителя базы данных, т.е. это физически разные устройства (сетевой диск, другой жесткий диск, Флешка...)

Для запуска пересчета и переиндексации, файл RecalcTradeDB.bat

c:\progra~1\1cv77\bin\1cv7.exe config /DM:\DBases\WDB\ /NРобот /Probot /@M:\Service\Recalc.prm

Для архивирования папки документов ArchDocs.bat

rar a -ac -agYYYYMMDDHH -ep1 -ilog -m5 -md4096 -r -s -y D:\Archivs\Documents\D G:\Documents\*.*

И имеется ещё несколько батников для архивирования разных баз и различных наборов сервиса
Например: Файл AllDBService.bat

call ArchAccDB.bat > ArchAcc.log
call RecalcAccDB.bat
call ArchTradeDB.bat > ArchTrade.log
call RecalcTradeDB.bat
call ArchDocs.bat > ArchDocs.log

Все эти файлы у меня лежат в одном месте (M:\Service) туда же закинут файл rar.exe

Но фактически я просто прописываю вызов нужного сервиса в один батник, а он в свою очередь запускается через "Назначенные задания" ежедневно в 22:00

Конечно же можно создать и включить в основной файл задачи по переброске, по ftp, по выключению... Но я этим не пользуюсь, потому как стоит это все у меня в серверах, которые не выключаются, под архивы заведены отдельные диски, копии хранятся за несколько последних дней (обычно за месяц, но есть и больше, даже за год есть), и всегда можно поднять старую и проверить как же было до того, как кто-то неделю назад чего-то ковырнул, и вот теперь эта ошибка вылезла... Винты нынче большие и не проблема хранить много архивов, базы данных сжимаются очень хорошо (из базы 760 Мб получается 36 Мб архив)

См. также

Архивирование (backup) Системный администратор Платформа 1С v7.7 Абонемент ($m)

Эти далекие 2000е... мы архивировали как могли. Пример командного файла для windows -- архивациия базы SQL 1С:Предприятие 7.7 средствами платформы.

1 стартмани

30.08.2024    354    0    kot1c    0    

0

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

18.02.2022    4011    0    igor7777    6    

2

Инструменты администратора БД Программист Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    5875    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11556    phsin    20    

28

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15858    4    devlabnn    2    

6

Архивирование (backup) Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Программа, написанная на Delphi7 для автоматизации сохранения БД.

1 стартмани

02.01.2017    15610    12    mt111    21    

0

Архивирование (backup) Системный администратор Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Всё началось с того, что я лентяй. Когда пришел на работу в первый раз, мне сообщили, что уже лет 10 делают сохранение  базы каждый день в конце рабочего дня. Из этого вытекает, что  если кто-то решит подтянуть свои хвосты, то мне приходится сидеть на работе тоже. Честно, мягко говоря, меня это не особо радовало... Порывшись на просторах инета, было принято решение сделать "автосохранялку". Как уже говорилось, "Я ЛЕНИВЫЙ", поэтому мне было попросту лень ставить всякие утилиты и программки, реализовал все штатными средствами.

1 стартмани

02.12.2016    16579    5    mt111    9    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. jmw 61 08.07.10 12:09 Сейчас в теме
Всё хорошо!
НО!
При таком способе архивирования, прийдётся частенько входить в каталог с архивами и вручную удалять старые (особенно на больших базах)...
Вот у меня, например раровский архив базы занимает от больше 300 метров.
Нетрудно посчитать, что за месяц архивы будут занимать около 10 гигов! А за 2 месяца?
Ещё не очень красиво выглядят досовские окна... да и грохнуть их непосвящённый пользователь может очень легко - крестиком в правом верхнем углу.
Не в целях саморекламы, но в целях направления на путь, так сказать, истинный:
посмотри вот такой сриптик
2. ne_en 84 08.07.10 16:58 Сейчас в теме
(1) Про окна... Сначала нужно вспомнить, что делается это на серверах, соответственно чел их и не увидит никогда. (потому как это где-то там)
Даже если это не совсем серв, то все равно при запуске, когда все уже свалили с работы, это не имеет значения.
Ну и если на батничек создать ярлык для ручного запуска, то все равно чел запустит, и будет точно знать, что это копия делается... Если нет, то этога сотра нужно лечить по поводу головы...
Про размер...
ДБФные базы при указанных параметрах зжимаются до 4-6 процентов. Т.е. от базы с размером 10Гб останется 400-600Мб. При современных винтах (я под архивы ставлю минимум 250Гб) даже таких копий войдет больше 400 штук...
А по поводу удаления старых архивов... Раз в пятилетку и мне не проблема выделить сотню файлов и грохнуть, но вообще и бухи и местные ответственные и админы, ни у кого проблем с этим не было, достаточно раз показать и ярлык на стол положить...
3. dicwork 26.12.11 01:48 Сейчас в теме
Как я понимаю это работает только для баз в формате DBF?
4. ne_en 84 26.12.11 09:59 Сейчас в теме
Ну конечно. В скуле свои функции для этого есть. Хотя в принципе если нужно содержимое папки (типа внешние отчеты/обработки, дллки всякие), то тоже можно заюзать. Ток там нет надобности каждый день архив делать, достаточно в один всё время сжимать с заменой.
Но пересчет итогов можно применять и в скуле (хотя я не пробовал :) )
Оставьте свое сообщение