gifts2017

Архивация баз 1С:Предприятие и файлов скриптом PowerShell (ver. 1.7)

Опубликовал Ростислав Кузьмин (Kuzja_R) в раздел Администрирование - Архивирование (backup)

Скрипт для архивации баз и произвольных файлов.

Возможности:

- Завершение процессов, сеансов и выгрузка средствами платформы в *.dt;

- Копирование файлов во временный каталог и упаковка в zip архивы;

- Пересылка созданных архивов на ftp сервер;

- Удаление устаревших архивов;

- Настройки скрипта хранятся в xml формате;

- Поддерживается произвольное количество баз.

Поблагодарить автора можно в кошельки: Yandex - 410012308853344, WebMoney - R273175277905

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

Наименование Файл Версия Размер Кол. Скачив.
1C PowerBackUp
.zip 623,68Kb
01.11.13
187
.zip 1.7 623,68Kb 187 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Ийон Тихий (cool.vlad4) 15.05.11 21:52
2. Ростислав Кузьмин (Kuzja_R) 17.05.11 23:44
ver. 1.2
~~~~~~~~
Добавлено:
- Мягкое завершение процессов. CloseMainWindow и Close вместо Kill.
- Задержка до принудительного закрытия процесса (<sec>).
- Автоматическое обновление скрипта с ftp сервера (<upd>).
- Лог работы ncftpput и ncftpget (<ftp_log>).

ver. 1.1
~~~~~~~~
Исправлено:
- Ошибка при передаче на ftp.

Добавлено:
- Появился файл History.txt. :-)
- Для каждой базы можно задать свой каталог архивов <store>.

ver. 1.0
~~~~~~~~
Реализована базовая функциональность:
- Копирование 1Cv8.1CD во временный каталог и упаковка с помошью 7-zip.
- Завершение процессов 1С и выгрузка средствами конфигуратора.
- Архивация произвольного набора файлов с помощью 7-zip.
- Копирование архивов на ftp сервер посредством ncftpput.exe.
- Удаление устаревших архивов.
- Хранение настроек в xml формате.
3. Ростислав Кузьмин (Kuzja_R) 20.05.11 21:48
Добавил тестирование и исправление ИБ
4. Ростислав Кузьмин (Kuzja_R) 24.05.11 20:25
ver. 1.5
~~~~~~~~
Добавлено:
- Уточнено описание параметров скрипта Readme.txt
- Оптимизирован код скрипта.
- Можно указать <exe> общий или для каждой базы свою версию.
- Определение свободного места на диске для архива.
5. Владимир Макаров (vladimir_makarov) 02.06.11 00:57
А это надо изобретать? Можно просто ВНИМАТЕЛЬНО изучить возможности архиватора WinRAR. Этот таварищ может всё и больше. Надо уметь им пользоваться. Это я к тому, не надо изобретать велосипед, он есть. Надо учить на нём кататься.
P.S.: Я сталкивался с ситуацией, когда БД "рухнула", и был подобный (твоему) архив. Его "выдернуть" не удалось, а вот мой, RAR-ский, прекрасно открылся. Что на это скажете?
6. Сергей (Che) Коцюра (CheBurator) 02.06.11 01:02
(5) позвольте просто полюбопытствовать? именно у вас - рар - лицензионный?
7. Владимир Макаров (vladimir_makarov) 02.06.11 01:38
(6) А у тебя нет? Отвечаю: у меня WinRAR нормальный. Напоминаю: WinRAR условно-бесплатная прога. Есть желание - купите. Но, просто советую посмотреть: ВСЕ ваши вопросы там давно решены. На уровне АВТОМАТА.
Напомню далее: там легко настраивается ДИНАМИЧЕСКАЯ архивация, с любыми параметрами. Посмотрите.
8. Сергей (Che) Коцюра (CheBurator) 02.06.11 01:47
(7) довожу до вашего сведения, что программист должен уметь не только кодить/писать, но и читать. Видимол вы невнимательно читали EULA а винрару, позволю себе процитировать:

WinRAR EULA (End User License Agreement) for use and distribution
--------------------------------------------------------------------------------
The RAR (and its Windows version - WinRAR) archiver are shareware. This means:
The author and holder of the copyright of RAR and WinRAR is Alexander L. Roshal. The licensor of the following license and bearer of the worldwide exclusive usage rights to reproduce and distribute RAR and WinRAR is win.rar GmbH, Schumannstr. 17, 10117 Berlin, Germany.
Anyone may use this software during a test period of 40 days. Following this test period of 40 days or less, if you wish to continue to use WinRAR, you must purchase a license.
.
так что если у вас нет желания купить - будьте добры после 40 дневного срока - отказаться от легального пробного использования программы.
.
PS: я не спрашивал - нормальный или ненормальный, спросил просто "именно у вас рар лицензионный?" - ответа так и не получил.
9. Владимир Макаров (vladimir_makarov) 02.06.11 01:56
(8) А зачем это? Я пишу, что можно сделать, используя это. Всё!!! А уж регламент - пусть каждый для себя решит сам.
ОТвет: ЛИЦЕНЗИОННЫЙ!!!
10. Сергей (Che) Коцюра (CheBurator) 02.06.11 02:05
Когда в ответ на прямой вопрос дают непонятные ответы, а в конце оказывается "лицензионный" - я сразу начинаю сомневаться в моем отношении к миру и людям... ;-)
11. Владимир Макаров (vladimir_makarov) 02.06.11 08:55
(10) Мы, вроде, не архиваторы обсуждаем, а как архивировать... А какой архиватор использовать - личное дело каждого. Я просто выразил своё мнение: не надо изобретать велосипед, да ещё с квадратными колёсами, есть готовое решение, более того, решение таково, что его (в случае аварии) можно запустить с любого стороннего компа. А вопрос лицензионности - на совести пользователя.
12. Ийон Тихий (cool.vlad4) 02.06.11 09:58
(11) какое нафиг решение с квадратными колесами? хорош понтоватся, человек сделал бэкап на повершелле, чего еще?
13. Сергей (Che) Коцюра (CheBurator) 02.06.11 10:06
(11) предлагать платное решение (винрар), вместо уже имеющегося бесплатного/оплаченного (винды с повершеллом) - всегда считается дурным тоном, особенно е сли навязывается силой, что ты и пытаешься делать, упирая на велоспед с квадратными колесами.
14. Ийон Тихий (cool.vlad4) 02.06.11 10:11
Добавлю от себя, что powershell очень кстати - микрософт намерен им заменить скриптинг, использующийся до этого. А насчет архиватора, все тру айтишники используют 7zip - примеры, есть программист, прикручивал алгоритм 7zip к c# год, сейчас его библиотечку скачивают со всего мира...еще http://habrahabr.ru/blogs/sysadm/81657/
15. Ростислав Кузьмин (Kuzja_R) 04.06.11 17:14
vladimir_makarov пишет:
...Я сталкивался с ситуацией, когда БД "рухнула", и был подобный (твоему) архив. Его "выдернуть" не удалось, а вот мой, RAR-ский, прекрасно открылся. Что на это скажете?

Чем, позвольте поинтересоваться, Ваш Rar-ский архив отличатся от 7-zip с точки зрения 1С? Мне думается - это просто архив, а содержание и там, и там будет одно и тоже. Это раз.
Во-вторых, я надеюсь Вы внимательно изучили предлагаемое решение и прочитали Readme.txt перед тем как критиковать? Так вот там Lucida Console по белому (чаще всего) написано "...В некоторых случаях возможны ошибки в архивной копии из-за незавершенных транзакций в базе...". А это значит, лучше использовать метод № 2, когда завершаются пользовательские процессы и создается нормальный файл выгрузки *.dt. Да, решение писалось для случая, когда все пользователи работают в терминале на одном сервере, и на удаленных машинах сеансы не завершаются (задачи такой не стояло).
И третье. Кроме создания архивов, скрипт позволяет удалять устаревшие и отправлять созданные на ftp. При чем тут WinRAR?
И четвертое. Настройки скрипта удобно вынесены в отдельный xml. Мне так захотелось.
Вам нравится WinRAR? Прикрутите его к скрипту и пользуйтесь - разработка бесплатная, код открыт.
С наилучшими пожеланиями.
16. Игорь Краюшкин (Harry_udm) 06.06.11 11:27
А если в логе пишется "Недостаточно свободного места на диске!" (хотя на самом деле свободно около 500ГБ) как решить эту проблему?
17. Ростислав Кузьмин (Kuzja_R) 06.06.11 13:01
(16) Такое сообщение выводится в случае, когда свободное место на диске меньше, чем удвоенный размер самого большого файла в каталоге архивов (логично предположить, что новый архив будет не меньше уже существующих?). Если нужно отключить сообщение, тогда закомментируйте строку 135 в скрипте, а в строку 136 измените на $GoodStore = $true.
18. Игорь Краюшкин (Harry_udm) 06.06.11 15:52
Странно, но размер самого большого файла в базе данных - 165МБ. Размер всех dbf-файлов - 800МБ.
Свободно же на диске - 465ГБ.
Может что-то с какими-то правами?
19. Ростислав Кузьмин (Kuzja_R) 06.06.11 16:12
(18) Дело не в базе данных, а том каталоге, куда должен быть записан архив (тот каталог, который указан в <store>).
20. Игорь Краюшкин (Harry_udm) 06.06.11 16:22
Записано вот так (без пробелов):
< store > D:\BackUp < / store >
21. Ростислав Кузьмин (Kuzja_R) 06.06.11 16:34
Сколько "весит" самый большой файл у Вас в каталоге D:\BackUp ?
22. Игорь Краюшкин (Harry_udm) 06.06.11 16:55
Локальный диск D полностью чист (ну не считая системных папок: System Volume Information, $RECYCLE.BIN). На нем только папка в корне диска BackUp. В этой папке нет вообще никаких файлов.
23. Ростислав Кузьмин (Kuzja_R) 06.06.11 17:17
Скорее всего скрипт не может корректно определить свободное место на диске (по логике PowerSell [0 > null], поэтому и ошибка). Возможно это связано с правами на весь диск, как Вы и предположили.
24. Alexander Eroshin (drdroid5) 04.07.11 04:28
CheBurator пишет:

(7) довожу до вашего сведения, что программист должен уметь не только кодить/писать, но и читать. Видимол вы невнимательно читали EULA а винрару, позволю себе процитировать:
....
так что если у вас нет желания купить - будьте добры после 40 дневного срока - отказаться от легального пробного использования программы.
PS: я не спрашивал - нормальный или ненормальный, спросил просто "именно у вас рар лицензионный?" - ответа так и не получил.

у рара вроде утилиты RAR.exe и UnRAR.exe не ограничены тральным сроком, хотя выбор в сторону 7zip поддерживаю.
25. Владимир Макаров (vladimir_makarov) 07.07.11 22:16
(8) Опять от темы отвлекаемся. Мы же вроде обсуждаем, как, что и чем архивировать. Законность преобретения - это для каждого пользователя его проблема. О WinRAR: знаю, что он бесплатно работает 40 дней. После этого оп продолжает работать, только некоторые функции не поддерживаются. Но!!! разработчик его не блокирует, в надежде на то, что клиент "одумается". У меня стоит какая-то "подарочная" или что-то в этом роде, про 40 дней не намекает... Поддерживает не все функции, но для этого хватает.
Кстати, а Ваша Technology - абсолютно бесплатна? Вообще работоспособна? А то была ситуация, когда меня вызывали "выдернуть" данные из аналогичного архива... НОЛЬ!!! Только пустые каталоги и ссылки на адреса файлов, где они должны быть... Отсюда и скорость работы.
Если кого-то заинтересует способ с использованием WinRAR - напишу подробнее. Хотя, как я понимаю, на этом форуме дураков нет. Проще - читайте справку WinRAR, раздел "Режим Командной Строки", совмещется с назначенными заданиями из Форточек, лучше с использованием "Спящего" режима.
26. shmvit (shmvit) 11.07.11 16:28
Harry_udm пишет:

А если в логе пишется "Недостаточно свободного места на диске!" (хотя на самом деле свободно около 500ГБ) как решить эту проблему?


по коду скрипта они ищет размер самого большого файла DT(+префикс+дата), возможно там косяк какой то..лучше закоментироват что выше писали
27. Ростислав Кузьмин (Kuzja_R) 17.09.11 20:27
ver. 1.6
~~~~~~~~
Добавлено:
- Параметр <holyday>. Архивы созданные в этот день месяца не удаляются.
Используется для сохранения ежемесячных копий без их автоматического
удаления.
- Отображение в логе ошибки определения свободного места на диске.
- Скорректирована процедура закрытия процессов 1С. Теперь работает немного
быстрее.

Исправлено:
- Процедура запуска дочерних процессов для некоторых версий ОС.
28. Oleg Inkeri (accnt) 14.10.11 16:31
в ХР работало,а че то в 7ке перестало...может че не так сделал...
29. fefef efffe (udji) 14.10.11 16:55
30. Igor (norbec) 16.11.11 10:48
8 баз прописал, всё прекрасно архивируется
Спасибо
31. Юлия Петрова (petrovaUL) 30.11.11 13:29
32. Igor Rusanov (chizh.84) 19.04.12 10:27
Скрипт для архивации файловых баз и произвольных файлов. Возможности:
- Завершение процессов и выгрузка средствами платформы в *.dt;
- Копирование файлов во временный каталог и упаковка в zip архивы;
- Пересылка созданных архивов на ftp сервер;
- Удаление устаревших архивов.
- Настройки скрипта хранятся в xml формате.
- Поддерживается произвольное количество баз. - Замечательная штука, но настройки в xml?! Может я консерватор но и csv хватило бы
33. Igor Rusanov (chizh.84) 19.04.12 11:39
Скорее всего скрипт не может корректно определить свободное место на диске (по логике PowerSell [0 > null], поэтому и ошибка). Возможно это связано с правами на весь диск, как Вы и предположили. Как же этот вопрос решается?! Зачем права скрипту на весь диск?
34. Igor Rusanov (chizh.84) 19.04.12 11:40
35. Igor Rusanov (chizh.84) 19.04.12 11:41
36. Igor Rusanov (chizh.84) 19.04.12 11:42
Добавлено:
- Параметр <holyday>. Архивы созданные в этот день месяца не удаляются.
Используется для сохранения ежемесячных копий без их автоматического
удаления.
- Отображение в логе ошибки определения свободного места на диске.
- Скорректирована процедура закрытия процессов 1С. Теперь работает немного
быстрее.

Исправлено:
- Процедура запуска дочерних процессов для некоторых версий ОС.
37. Ростислав Кузьмин (Kuzja_R) 01.11.13 21:16
ver. 1.7
~~~~~~~~
Добавлено:
- Параметры <server>, <base>, <connector> для подключения к базам,
расположенным на серверах 1С:Предприятие.
- Параметры <cuser>, <cpass> для подключения к кластеру серверов 1С.
- Метод архивации для серверных баз. Для использования нужно указать
<method>4</method> в файле настроек.
38. sun888 (malikov_pro) 16.03.14 22:44
1. По серверной версии не устанавливается блокировка доступа на время резервного копирования в результате имеем "Ошибка исключительной блокировки информационной базы." и неделю без архивов (УТ 11.1).
2. Удаление архивов идет без проверки успешности выполнения резервного копирования, результат новых архивов нет и старые все потерты.
3. Прикрутить параметр /Out тоже будет полезно, для разбора полетов.
39. Николай Переляев (nickperel) 25.02.15 04:23
(5) vladimir_makar(5) vladimir_makarov,
Скажу что ты просто дурак. Причем тут WinRAR, какая то твоя "рухнувшая" база а также что и откуда ты потом "выдернул"?
Тут скрипт для шедулера.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа