Бэкапирование внешних обработок на этапе разработки

03.06.21

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

Бэкапирование файлов внешних обработок 1С, и не только, с помощью самой 1С.

Скачать исходный код

Наименование Файл Версия Размер
Текст программы
.txt 3,68Kb
0
.txt 3,68Kb Скачать

Немного бекапирования никогда не повредит. А уж если сделать этом методами самой 1С, то можно будет допиливать как угодно.

Когда может быть полезным? 

Один из сценариев: разработка внешних отчетов и обработок. Что-то правим, 1С упала - обработка пустая. Бывает редко, но бывает. Что-то правим, вспоминаем что в предыдущем варианте что-то было лучше реализовано.

Как организовать:

1. Посмотреть какие данные в последний раз заливались в каталог хранения резервных данных.

2. Посмотреть какие данные с тех пор появились в каталоге данных.

3. Скопировать новые данные.

4. Сделать эти действия повторяемыми. С помощью регламентного задания или планировщика (если использовать oscript).

5. Профит.

Нам понадобятся: 
    методы: "ПолучитьВремяИзменения", "ИмяБезРасширения", "Расширение";
    команды: НайтиФайлы, КопироватьФайл;
 

Процесс:  
    
Шаг 1 - получаем дату последнего изменения в каталоге хранения резервных данных:

	ДатаПредыдущегоИзменения = Дата(1, 1, 1);
	
	НайденныеФайлы = НайтиФайлы(ПолучитьКаталогРезервированияКуда(), "*.*");
	Для каждого ТекФайл Из НайденныеФайлы Цикл
		ДатаИзменения =  ТекФайл.ПолучитьВремяИзменения();
		Если ДатаИзменения > ДатаПредыдущегоИзменения Тогда
			ДатаПредыдущегоИзменения = ДатаИзменения;
		КонецЕсли; 
	КонецЦикла; 
	
	Возврат ДатаПредыдущегоИзменения;

Шаг 2 - находим новые \ измененные файлы в каталоге данных.

	МассивФайлов = Новый Массив;
	
	НайденныеФайлы = НайтиФайлы(ПолучитьКаталогРезервированияОткуда(), "*.*");
	Для каждого ТекФайл Из НайденныеФайлы Цикл
		Если ТекФайл.ЭтоФайл() Тогда
			ДатаИзменения = ТекФайл.ПолучитьВремяИзменения();
			Если ДатаИзменения > ДатаПредыдущегоИзменения Тогда
				МассивФайлов.Добавить(ТекФайл);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла; 

Шаг 3 - копируем найденныефайлы в в каталог хранения резервных данных.

	Процедура РезервироватьНовыеИзмененныеФайлы(МассивФайлов)
	
		Для каждого ТекФайл Из МассивФайлов Цикл
			ИмяФайла = ПолучитьИмяФайлаРезервирования(ТекФайл);
			КопироватьФайл(ТекФайл.ПолноеИмя, ИмяФайла);
		КонецЦикла; 
	
	КонецПроцедуры

Шаг 3,5 - именуем файлы бекапа, что было понятно что за файл и когда изменялся. Примерно тек:
    ИмяФайла 2021_06_02_15_48_07 .epf
    ИмяФайла 2021_06_02_17_58_35 .epf

	ДатаРезервированияСтрокой = Формат(ТекФайл.ПолучитьВремяИзменения(), "ДФ=yyyy-MM-dd-ЧЧ-мм-сс");
	ДатаРезервированияСтрокой = СтрЗаменить(ДатаРезервированияСтрокой, "-", "_");
	
	ИмяФайла = ТекФайл.ИмяБезРасширения + " " + ДатаРезервированияСтрокой + " " + ТекФайл.Расширение;
	ИмяФайла = ПолучитьКаталогРезервированияКуда() + "\" + ИмяФайла;

Шаг 4 - добавляем регламентное задание. Вставляем туда весь этот код. Устанавливаем необходимую частоту проверки и бэкапа.

Если нет желания изменять конфигурацию, то можно этот же скрипт использовать в планировщике с помощью oscript.

Шаг 5 Получаем бэкапы нужных нам файлов. 

 

P.S. В вложении ничего интересного нет. Просто методы из статьи в виде программы или скрипта. 

Бэкапы бэкапривание внешние обработки

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

21600 руб.

15.05.2017    42685    10    24    

38

BackUPv8 - система резервного копирования баз 1С

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    14856    15    6    

19

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением расширения (8.3.14+, расширение)

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней.

6000 руб.

06.11.2012    70336    622    44    

80

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    6396    n_mezentsev    15    

27

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    20846    sapervodichka    36    

143

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4839    2    Gnom-Gluck    6    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1294 03.06.21 17:45 Сейчас в теме
По мне удобнее хранить в папке с git репозиторием и применить к нему precommit1c, и "бекап" есть и видны изменения.
pscorp; pavlov_dv; cprit; horsgroup; Lem0n; +5 Ответить
2. aximo 2029 04.06.21 04:24 Сейчас в теме
а по мне - на инфостарт
Оставьте свое сообщение