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

04.06.18

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Бэкапер файловых баз с хранением на яндекс-диске
.rar 743,51Kb
6
6 Скачать (5 SM) Купить за 3 050 руб.

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

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, исходник тоже выкладываю. Мой скомпилированный файл архивы не паролит, советую указать его в скрипте и скомпилировать самостоятельно. 

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

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

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

См. также

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

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

6000 руб.

06.11.2012    72788    625    45    

84

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

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

1200 руб.

03.09.2014    15705    21    6    

27

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

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

04.12.2023    9426    n_mezentsev    15    

27

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

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

07.10.2022    28598    sapervodichka    37    

147

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

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

1 стартмани

25.08.2022    5732    3    Gnom-Gluck    6    

7

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

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

1 стартмани

02.06.2022    4689    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
Оставьте свое сообщение