gifts2017

Скрипт VBS для резервного копирования 1c 8.x

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

Скрипт VBS для резервного копирования базы 1с 8.x  c завершением терминальных сессий. Резервное копирование выполняется при помощи конфигуратора. В скрипте выполнена дневная, недельная, месячная и готовая ротации бэкапов, с автоматическим удалением старых копий.

Скрипт предназначен для автоматического выполнения  резервного копирования 1с 8.x на удаленном терминальном сервере.
Скрипт написан на Visual basic и имеет следующий функционал: 
1. Делает выгрузку средствами 1с конфигуратора 
2. Выполняет суточную, недельную, месячную и годовую ротацию создания выгрузок. 
3. Автоматом удаляет старые архивы не попадающие под ротацию. 
4. Автоматически завершает терминальные сессии пользователей. 
5. Закачивает суточную выгрузку на ftp сервер. 
6. Выгрузка перед закачкой на ftp сервер архивируется с паролем 
7. В случае сбоя выполнения выгрузки, логи операции высылаются на указанный e-mail. 

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

Скрипт выполнен на основе данных полученных с ветки форума: http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=6319#1

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

Наименование Файл Версия Размер
1c-backup 241
.zip 516,92Kb
29.11.11
241
.zip 516,92Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Александр Гнитка (smitti911) 29.11.11 15:02
Смотрите тоже очень неплохой скрипт : http://infostart.ru/public/72057/
2. Ростислав Кузьмин (Kuzja_R) 29.11.11 16:59
3. Юлия Петрова (petrovaUL) 30.11.11 13:29
4. Максим Некрасов (SiriusM) 30.11.11 22:19
Интересно, попробую, сейчас на батниках в планировщике...)
5. Андрей (Bambor) 30.11.11 22:23
батники это хорошо, но увы должной гибкости с ними достичь практически не возможно.
6. Осипов Сергей (fixin) 01.12.11 16:57
Помните, что DT - ненадежный способ бэкапа. не всегда из DT можно восстановить данные. не рекомендую DT
7. Андрей (Bambor) 01.12.11 17:41
fixin пишет:
Помните, что DT - ненадежный способ бэкапа. не всегда из DT можно восстановить данные. не рекомендую DT


Аргументируйте пожалуйста почему это плохо, всем очень интересно как правильно и как лучше.
Лично я ни разу еще не сталкивался с проблемой восстановления из DT, операции восстановления дампов из этого скрипта делаю регулярно, на тестовую базу.
8. Ийон Тихий (cool.vlad4) 01.12.11 17:48
(7) при выгрузке в dt происходит ряд действий (как минимум реструктуризация), и нет гарантии, что полученные при загрузке данные будут идентичными(особенно касается баз, в которых могут присутствовать всякого рода ошибки), а также тяжело происходит выгрузка в dt у больших баз(если вообще происходит). Поэтому всеми рекомендуется делать копию баз 1 в 1 как они хранятся (файловая->файлы, базы БД ->различными средствами делаются архивы баз) и dt. Я слышал о случаях, когда администраторов увольняли за выгрузку только dt.
9. Андрей (Bambor) 01.12.11 18:05
ошибки в базе это уже не хорошо, администратору есть о чем задуматься, что касается больших баз так это уже наверное sql и тут конечно логичнее делать backup средствами sql.
Но в любом случае как бы не сохранялись данные, их целостность необходимо периодически проверять.
11. Александр Сазонов (Asaqura) 05.12.11 01:16
12. Андрей (Bambor) 05.12.11 01:22
Asaqura пишет:

Очень нужная обработка

Отличный комментарий, но это вообще то не обработка, да и для того что бы оценить, Вам для начала надо хотя бы скачать файл.
13. Александр Гарькин (agarkin) 06.12.11 13:45
так существуют же проги для backup-а
14. Dima Str. (dimakaster) 28.12.11 10:47
(13) agarkin, проги для бэкаапа не делают выгрузку из 1С в .dt, а только копируют/архивируют/криптуют сами файлы. При файловой БД - это конечно можно использовать, но вот при клиент-серверном варианте - уже не так все радужно.

(8) cool.vlad4, я тоже за хранение бэкапов стандартными средствами(файловфый вариант, как рекомендуют в литературе, копированием базы; клиент-серверный вариант - средствами сервера БД), но и .dt делать раз в сутки по ночам в монопольном режиме не помешает. Плюс к этому принудительное отключение пользователей решает ряд проблем с расходованием ресурсов на сервере и залипании лицензий.

Сам пользовался только средствами MSSQL, но возникла необходимость двойного резервирования. Плюс к этому бэкап сделанный сервером БД не получится развернуть в локальной базе, что бывает необходимо разработчикам.

Вообще есть какие нибудь рекомендации по бэкапу именно клиент-сервверного варианта стандартными средствами в .dt?
15. Игорь Грибинник (slavich) 21.01.12 16:16
Отличные комменты. Сам делаю бекапы дин раз в сутки средствами SQL и средствами 1С для надежности
16. Dima Str. (dimakaster) 26.01.12 11:56
(15) slavich, По средствам SQL все понятно, а стандартными средствами 1С как делаете? Каким способом выкидываете пользователей?
P.S.: проблема в том, что rphost не выгружается полностью из кэша, из-за чего после рестарта сервера остаются "зомби-пользователи". Видимо придется решать через COM-объекты =(
17. hamsar hamsar (hamsar) 26.01.12 12:00
у меня сделано, на sql обычным планом, на файловом гендальфом и я не парюсь
18. Dima Str. (dimakaster) 26.01.12 13:41
SQL у меня делает 1 фулл и в течении рабочего дня инкрементальные каждый час. Для хранения любой копии базы за год как то расточительно хранить 54 копии одной базы по 30гигов. А усли учесть что она такая не одна... вот и расскажите мне как быстро обычный SQL + скажем архиватор(незнаю на сколько сильно жмутся резервные копии SQL-а и жмутся ли вообще) займут все свободное место? и что вы будете делать если к примеру полетит сам SQL?
А может быть Вы еще знаете способы развертывания резервный копий SQL в локальные базы?

ИМХО у каждого свои задачи и кому то хватает sql и гендальфа для того чтоб не париться, а кто то пляшет с бубном и решает поставленные задачи.
19. Игорь Грибинник (slavich) 15.06.12 08:02
(16) dimakaster, да были такие проблеммы, решал их с помощью скриптов рестаротов и т.п., но в данный момент бекап средствами 1С делаю с помощью программы Egida Backup поставил и забыл о проблеммах...