Резервариус администратора: сделай копию и делай, что хочешь!

26.06.13

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

Необходимо менять базу [скрипты, файлы ... неважно] и хочется подстраховаться? Копия нужна прямо сейчас, чтобы не тряслись коленки потом и можно было сделать “rollback”? Резервариус: сделай копию и делай, что хочешь! Универсальная система хранения копий любых файлов и папок. Поможет там, где нет смысла применять полноценную систему контроля версий или систему резервного копирования.

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

Наименование Файл Версия Размер
Резервариус администратора 1.0
.exe 778,02Kb
76
.exe 778,02Kb 76 Скачать

Хочу представить вам инструмент, которым уже давно пользуюсь в своей работе и считаю необходимым для каждого администратора и программиста.

Область применения

  • Базы 1С всех версий.
  • Базы сторонних программ (всякие налогоплательщики, пенсионки и прочие).
  • Отдельные dbf файлы.
  • Скрипты, файлы настроек.
  • Любые файлы и папки с данными.
Плюсы
  • Интегрирован в проводник (выбирайте нужные файлы и папки, чтобы отправить их в “Хранилище копий”).
  • Поддерживается "drag and drop" на форму программы.
  • Хранилище можно делать сетевым (при сохранении копии учитывается сетевое имя компьютера).
  • Копии сжимаются замечательным архиватором 7-zip, интегрированным в программу.
  • Перед копированием файлы блокируются на запись, что гарантирует целостность данных.
  • Настраиваются исключения для файлов и папок при копировании.
Зачем
  • Часто в работе возникает необходимость сделать снимок какой-нибудь группы файлов и отложить на полочку, чтобы потом, в случае чего, быстро оттуда достать.
  • Если только это не исходники чего-либо, система контроля версий не подходит.
  • Система резервного копирования тоже остается не удел, так как настраивается обычно для регулярной архивации определенного набора данных.
  • Всегда было желание иметь некий инструмент для работы с такой полочкой. Что-то типа "одноразовой моментальной системы резервного копирования".
  • Так возникла идея Резервариуса. Она была реализована и используется в моей практике вот уже 2 года как дополнение к системам резервного копирования и контроля версий.
Буду рад, если она пригодится кому-нибудь ещё.
 
С уважением, Алексей Карманов (helpme1c.ru)

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по 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    42470    10    24    

38

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

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

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

1200 руб.

03.09.2014    14675    12    6    

17

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

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

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

04.12.2023    5711    n_mezentsev    15    

23

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

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

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

07.10.2022    19490    sapervodichka    36    

140

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

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

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

1 стартмани

25.08.2022    4680    2    Gnom-Gluck    6    

6

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

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

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

1 стартмани

02.06.2022    4216    3    Giblarium    12    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. boolean 28 26.06.13 09:20 Сейчас в теме
а архиваторы 7zip, WinRAR не справляются с данной задачей?
2. alexey.karmanov 189 26.06.13 09:29 Сейчас в теме
(1) boolean,
со сжатием? Отлично справляются, именно поэтому я для сжатия использую любимый архиватор 7-zip, встроенный прямо в программу.

Раньше я так и делал. У меня была специальная папочка на компьютере (называлась, что-то типа "backup (manual)". И вот я каждый раз делал архив такой страховочной копии. Что мне не нравилось в таком подходе: нужно ручками правильно называть архив, прописывать число, указывать куда сохранять.

Помучался я так, а потом взял и написал Резервариус. Один раз настроил в нём папку для хранилища копий. Теперь, чтобы создать копию файлов и папок - я просто выделяю их в проводнике, меню отправить -> хранилище копий. Всё остальное Резервариус делает сам: называет с учетом пути к данным, указывает дату и время, жмет. Удобно получилось.

А потом я ещё и прикрутил, чтобы имя компьютера учитывалось. И сделал на всю локальную сеть на работе одно хранилище. Таким образом копии хранятся в одном месте, а создаваться могут на любом из компьютеров сети.

Подумал, что это не одному мне может быть полезно и выложил сюда.
3. alexey.karmanov 189 26.06.13 09:32 Сейчас в теме
(1) boolean,
плюс есть возможность задать исключения. Для баз 7.7 очень полезно: не нужно копировать те же cdx и всякие левые папки.

Ну и возможно самое главное: перед копированием набора файлов - сначала они все блокируются на запись, потом копируются и только потом разблокируются. Если просто жать архиватором - есть вероятность создать разсогласованную копию. Делая копии Резервариусом - можно быть уверенным в их целостности.
4. lamelioss 143 26.06.13 09:45 Сейчас в теме
а под *nix оно работать будет? =)
5. alexey.karmanov 189 26.06.13 09:50 Сейчас в теме
(4) lamelioss,
Нет, к сожалению только Windows системы =))

А ведь действительно на *nix она была бы весьма кстати.
6. lamelioss 143 26.06.13 10:00 Сейчас в теме
(5) вот вот )) я лет 6 назад писал что то похожее под линуху, напрягали всякие архиваторы ) если найду исходники, поделюсь )
7. alexey.karmanov 189 26.06.13 10:02 Сейчас в теме
(6) lamelioss, давай! Буду признателен =)) Было бы здорово сделать Резервариус кроссплатформенным.
8. lamelioss 143 26.06.13 10:08 Сейчас в теме
(7) окей, старый винт найду, кину ))) или заново напишу на край 8)
9. hogik 443 26.06.13 18:32 Сейчас в теме
(0) (3)
"перед копированием набора файлов - сначала они все блокируются на запись ... можно быть уверенным в их целостности"(с)
Алексей (alexey.karmanov).
Опишите, пожалуйста, алгоритм блокировки для файловых версий 1С-а.
10. hogik 443 26.06.13 21:13 Сейчас в теме
(0)
"сначала они все блокируются на запись"(с)
Алексей (alexey.karmanov).
1) Никакая "внешняя" блокировка не может обеспечить согласованную копию, если не учитывается логика блокировок самой СУБД.
2) Блокировка без учета логики блокировок СУБД приводит к подобным явлениям:
http://infostart.ru/public/15577/
http://infostart.ru/public/16158/
P.S. Ставлю "минус" под публикацию, дыбы обратить внимание потенциальных пользователей на мои замечания.
P.P.S. Жду от автора публикации ответа на (9) сообщение, чтобы убрать "минус".
11. alexey.karmanov 189 27.06.13 02:19 Сейчас в теме
(10) hogik,
или вы меня не до конца поняли, или я вас :)

Давайте на примере папки с базой какой-нибудь рассмотрим, пусть это будет 1С 7.7, там много файлов:
1) Вы нажимаете на папке с базой или на файлах базы правой кнопкой, отправить -> "Хранилище копий".
2) Резервариус составляет полный список файлов входящих в эту папку и пытается получить эксклюзивный доступ к каждому файлу (не попадающему под маску исключений).
3) Если хотя бы с одним файлом ему это не удается (например, база открыта в 1С Предприятии), то он пишет ошибку и отказывается создавать копию всей папки SSTDB.
4) Если эксклюзивный доступ ко всем файлам получен, то это означает, что они открыты на чтение в режиме разделения, при котором другие приложения могут только читать эти файлы, но не писать. Это значит, что после этого пункта ни 1С, ни какие другие приложения не смогут открыть базу и что-нибудь там менять, а будут писать ошибка эксклюзивного доступа, так как файлы уже заняты Резервариусом. Это я и имел под "блокируются на запись".
5) Все файлы жмутся в копию.
6) Эксклюзивная блокировка снимается.
12. hogik 443 27.06.13 02:45 Сейчас в теме
(11)
"или вы меня не до конца поняли, или я вас :) "(с)
Алексей (alexey.karmanov).
Оба. :-)
1) Эксклюзивный режим открытия файла и блокировки некого "региона" файла - две большие разницы.
2) Открыть файл в эксклюзивном режиме невозможно, если он уже открыт в любом режиме.
3) Для файла открытого в эксклюзивном режиме понятие блокировка "региона" не имеет смысла.
4) 1С никогда не открывает файлы в разделенном режиме только для чтения.
5) В Win32 блокируется "регион" для "доступа" вообще, а не чтения и/или записи.
Дык, чего и как Вы открываете и блокируете?
13. alexey.karmanov 189 27.06.13 02:53 Сейчас в теме
(12) hogik,
1) я отрываю на чтение с эксклюзивным доступом весь файл, а не регион этого файла.
2) правильно, если он отрыт уже другой программой, у меня не получится получить эксклюзивный доступ к файлу и Резервариус напишет ошибку, что мол "возможно файлы заняты другой программой".
3) я и не говорил нигде ничего про блокировку "региона".
4) 1С не открывает, я открываю.

Приведу конструкцию на c#, в MSDN лень лезть сейчас искать
Stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
поток отрыт до конца копирования.

Попробуйте сами, откройте базу в 1С и у вас не получится её скопировать Резервариусом.
Теперь запустите копирование закрытой базы Резервариусом и у вас не получится её ничем больше открыть, пока Резервариус не закончит свою работу.
15. hogik 443 27.06.13 03:09 Сейчас в теме
(13)
Алексей (alexey.karmanov).
"я отрываю на чтение с эксклюзивным доступом весь файл, а не регион этого файла"(с)
А где я написал про открытие региона? Вы чо? ;-)
"я и не говорил нигде ничего про блокировку "региона". "(с)
Верно. Не говорили. Но, вы говорили про блокировку. А блокировка выполняется только для понятия "регион": "The LockFile function locks a region in an open file. Locking a region prevents other processes from accessing the region."
"Попробуйте сами, откройте базу в 1С и у вас не получится её скопировать Резервариусом.
Теперь запустите копирование закрытой базы Резервариусом и у вас не получится её ничем больше открыть, пока Резервариус не закончит свою работу. "(с)

Вот, думаю, ключевая Ваша фраза. ;-) Т.е. Ваша программа работает только, если в систем нет пользователей. Так? Тогда зачем говорить о блокировках файлов. Всё у Вас проще. Удалось открыть ВСЕ файлы в эксклюзивном режиме - копируем. Не удалось - не копируем.
16. alexey.karmanov 189 27.06.13 03:16 Сейчас в теме
(15) hogik,
Вот, думаю, ключевая Ваша фраза. ;-) Т.е. Ваша программа работает только, если в систем нет пользователей. Так? Тогда зачем говорить о блокировках файлов. Всё у Вас проще. Удалось открыть ВСЕ файлы в эксклюзивном режиме - копируем. Не удалось - не копируем.


Ну конечно же! Я, посмотрев список ваших работ, так и понял, что вас ввело в заблуждение слово блокируется на запись. Я имел в виду эксклюзивный доступ к файлу, а вовсе не LockFile.

Именно так и работает Резервариус: "Удалось открыть ВСЕ файлы в эксклюзивном режиме - копируем. Не удалось - не копируем.". Что и обеспечивает согласованность копии в конечном итоге.
20. hogik 443 27.06.13 03:25 Сейчас в теме
(16)
"Что и обеспечивает согласованность копии в конечном итоге."(с)
Алексей (alexey.karmanov).
И вот этим не надо путать людей. :-) Т.к. если нет активных сессий, то получить НЕсогласованную копию не получится. А жаль... :-)
23. alexey.karmanov 189 27.06.13 03:28 Сейчас в теме
(20) hogik,
эту фразу я написал, чтобы подчеркнуть отличие копирования Резервариусом и просто скажем архиватором или проводником. Там эксклюзивный доступ к группе копируемых файлов не применяется и поэтому в процессе копирования файлы могут быть открыты субд, изменены и копия получится разсогласованной.

А если использовать Резервариус, который сначала открывает с эксклюзивным доступом, а потом копирует, то копия будет согласованной, благодаря именно этой защите от открытия.

То есть, вполне можно сказать, что эксклюзивный доступ обеспечивает согласованность копии.
17. alexey.karmanov 189 27.06.13 03:18 Сейчас в теме
(15) hogik, в следующей версии в описании исправлю слово "блокировка" на "эксклюзивный доступ", чтобы не вводить в заблуждение специалистов :)
19. alexey.karmanov 189 27.06.13 03:22 Сейчас в теме
(15) hogik, и справедливости ради речь с моей стороны была фраза "блокируется на запись", а не "блокировка" :)
Потому, что не программисту эта фраза более понятна, чем "эксклюзивный доступ". Понял вас, распишу подробнее.
22. hogik 443 27.06.13 03:27 Сейчас в теме
(19)
"блокируется на запись"
Алексей (alexey.karmanov).
Нет такого понятия!!!
25. alexey.karmanov 189 27.06.13 03:32 Сейчас в теме
(22) hogik, обещаю в самое ближайшее время описать всё по понятиям :)) Сейчас какое-нибудь изменение будет в программе и исправлю заодно. Всё же как ни крути, а утилита для айтишников. И описание должно быть грамотным. Спасибо.
24. hogik 443 27.06.13 03:29 Сейчас в теме
(19)
Алексей (alexey.karmanov).
У Вас блокируется "на полный НЕ доступ".
14. alexey.karmanov 189 27.06.13 02:58 Сейчас в теме
(12) hogik,
Я ещё раз хочу подчеркнуть, что Резервариус не ставит перед собой цель скопировать базу, которая УЖЕ открыта и обеспечить согласованность копии. Это действительно невозможно, поэтому в этом случае он и пишет ошибку.
Он будет копировать, только если база закрыта. И если он начнет копирование, то открыть базу в процессе этого не получится.
18. hogik 443 27.06.13 03:19 Сейчас в теме
(14)
Алексей (alexey.karmanov).
Вот Ваша фраза, которая путает:
"перед копированием набора файлов - сначала они все блокируются на запись, потом копируются и только потом разблокируются."(с)
Т.е. файлы не блокируются, не блокируются на запись, не разблокируются.
Они, просто, открываются в эксклюзивном режиме. :-) Но, открываются ВСЕ, если удалось ВСЕ открыть. И только тогда делается копия.
Минус, конечно, снимаю под публикацией. Но, написать об эксклюзивном выполнении копирования, думаю, имеет смысл.
alexey.karmanov; +1 Ответить
21. Программулькин 301 27.06.13 03:26 Сейчас в теме
Плюсую. За что? Всё просто. Мне тоже лень делать рутину, а тут автоматизация рутинной нудной работы (пусть кратковременной, но если подсчитать сколько я таких "горячих копий" делаю, то времени уходит много). Лень двигатель прогресса. Имхо, настоящий Айтишник должен быть ленивым, иначе он не Айтишник. Мы всё делаем для юзеров,а тут для нас. Короче, лови плюс.
alexey.karmanov; +1 Ответить
26. internetname 27.06.13 18:30 Сейчас в теме
Копии это наше все.
alexey.karmanov; +1 Ответить
27. boolean 28 28.06.13 23:21 Сейчас в теме
Почитал Вашу жаркую дискуссию.
Ничего нового я так и не увидел, все это можно организовать с помощью VBS или CMD + nncron, но для других думаю будет полезно. Плюс за старание =)
28. MORT32Ram 16 30.04.15 08:03 Сейчас в теме
Спасибо за программу. Было бы замечательно если бы она еще и паролила архивы, указанным в настройках паролем.
Оставьте свое сообщение