Бэкапер файловых баз с хранением на яндекс-диске

04.06.18

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

Еще один бекапер файловых баз на инфостарте. Возможно будет интересен франчам, у кого много небольших клиентов с файловыми базами. У себя используем больше года. Состоит из 3-х частей: 1 - размещается на компьютере клиента; 2 - настраивается яндекс-диск; 3 - у себя на рабочем компьютере. Настроенная система организует архивацию файловых баз данных на компьютере клиента, копирование их на яндекс-диск, сбор и анализ информации о наличии архивов на яндекс-дисках с возможностью закачки к себе на рабочий компьютер.

Скачать файлы

Наименование Файл Версия Размер
Бэкапер файловых баз с хранением на яндекс-диске
.rar 743,51Kb
6
.rar 743,51Kb 6 Скачать

Настройка следующая:

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

2. Закачиваем клиенту файлы бекапера

- backuper.bat - сам скомпилированный бекапер

- oauth_token.txt  - в него записываем полученный токен

- param.txt - в нем прописываем какие базы копируем, куда складываем, какое количество храним

- setup.vbs - файл запуска бекапера, в нем указываем абсолютный путь к файлу параметров param.txt и самому бекаперу backuper.bat

3. Настраиваем планировщик, я делаю ежедневный запуск, файл запуска - setup.vbs.

4. Развернуть у себя на компьютере конфигурацию, или объединить ее с той что используете у себя. В справочнике Контрагенты в поле Токен для каждого клиента указывается свой токен, полученный в его ящике.

1,2,3 пункт делаю так для каждого клиента.

Настройка закончена.

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

Образец заполнения параметров файла param.txt:
<Забекапить>                   - по этой строке программа начинает искать настройки для следующей базы
D:\1cworkbases\БП           - путь до базы, которую нужно заархивировать
D:\Архив\БП                      - путь до архива, куда будут сложены архивы
Приложения/Архив/БП    - путь к папке на яндекс-диске, куда будут отправлены архивы
5                                         - количество архивов, которое будет хранится в папке ЕжедневныеАрхивы и ЯндексДиске. При записи новых архивов старые удаляются.

Этих секций может быть несколько, по количеству баз, которые нужно сохранять. Важно не выйти по объему за размер яндекс-диска. В названиях лучше избегать пробелов.

На компьютере клиента для каждой базы создается 2 папки - ЕжедневныеАрхивы и ЕженедельныеАрхивы. Каждый понедельник в папку ЕженедельныеАрхивы складывается новый архив. В папке ЕжедневныеАрхивы и на яндекс-диске хранится только указанное количество архивов, более старые удаляются.

Скрипт написан на 1script, поэтому требуется .NET 4.5.2, исходник тоже выкладываю. Мой скомпилированный файл архивы не паролит, советую указать его в скрипте и скомпилировать самостоятельно. 

Возможно потребуется также настройка антивируса, тк им такая активность не нравится.

Вот такой велосипед, говорят настройка сложная, но, думаю, разобраться можно. У себя используем больше года, данные не теряем, всегда под рукой свежая копия, которую можно скачать и поработать с ней не отвлекая клиента. Может кому то еще пригодится, а может посоветуют как доработать.

Резервное копирование файловых баз

См. также

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

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

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

19200 руб.

15.05.2017    42522    10    24    

38

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

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

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

1200 руб.

03.09.2014    14733    13    6    

18

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

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

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

04.12.2023    5874    n_mezentsev    15    

25

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

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

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

07.10.2022    19828    sapervodichka    36    

142

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

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

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

1 стартмани

25.08.2022    4718    2    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

Архивирование (backup) Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4236    3    Giblarium    12    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. V.Nikonov 120 08.06.18 08:48 Сейчас в теме
А выложить отдельный функционал заменяющий функции (FTP.Прочитать(), FTP.Записать(); FTP.Dir()) не сложно?
Вероятно нужен вариант, что Токен скармилвается при Вызове как Параметр, и вариант использующий стандартизированный Токен для Базы...
2. yabrus 11 09.06.18 07:30 Сейчас в теме
(1) вот кусок кода, если поможет:
		
Соединение = Новый HTTPСоединение("cloud-api.yandex.net",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
		//Запрос по корневой папке
	    Запрос = Новый HTTPЗапрос("/v1/disk", ПолучитьЗаголовки(Контрагент));
	    Ответ = Соединение.Получить(Запрос);
		СвободноеМестоВОблаке = ПолучитьДанныеОбОставшемсяМесте(Ответ,Контрагент);

Функция ПолучитьДанныеОбОставшемсяМесте(Ответ,Контрагент)
    Если Ответ.КодСостояния = 200 Тогда
        Данные = ПрочитатьДжейсон(Ответ);
		Возврат Данные.total_space - Данные.used_space - Данные.trash_size;
    Иначе
        Данные = ПрочитатьДжейсон(Ответ);
        Сообщить("Не удалось получить данные об свободном месте в облаке у контрагента " + Контрагент +" "+Данные.message, СтатусСообщения.ОченьВажное);
		Возврат 0;
    КонецЕсли;
КонецФункции

Функция ПолучитьЗаголовки(Контрагент)
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
    Заголовки.Вставить("Authorization", "OAuth "+СокрЛП(Контрагент.Токен));
	Возврат Заголовки;	
КонецФункции

Функция ПрочитатьДжейсон(Ответ)
    Джейсон = Новый ЧтениеJSON;
    Джейсон.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
    Возврат ПрочитатьJSON(Джейсон);
КонецФункции

Показать
curdate; V.Nikonov; +2 Ответить
3. V.Nikonov 120 09.06.18 17:02 Сейчас в теме
(2)
Александр Собянин (yabrus) 6 09.06.18 07:30
(1) вот кусок кода, если поможет:

Я имел в виду вариант распространения в виде Отдельного модуля или Обработки, который бы позволил подменить типовую работу с FTP на обращение к Yandex-Disk.
P.S. Я бы с удовольствием скачал такую "Библиотеку".
4. yabrus 11 03.07.18 09:00 Сейчас в теме
https://infostart.ru/public/853451/ посмотрите тут, кажется то, что вы искали
5. lihomanov 83 16.03.21 19:46 Сейчас в теме
Добрый день! во вложении запрос на решение.
Прикрепленные файлы:
Решение.txt
Оставьте свое сообщение