Автоматическая архивация данных 1C c помощью WinRAR
0.
vladimir_makarov
10502.09.12 11:14 Сейчас в теме
Иногда случаются казусы типа: БД «рухнула», кто-то что-то совершенно «случайно» грохнул, или вообще HDD скончался…. Первая мысль: сейчас бы архивчик…. А его частенько нет, ибо любим мы на русский «авось» полагаться. Предлагаю универсальный и безотказный способ автоматической архивации, не требующий ничего потустороннего, только известный всем архиватор WinRAR. Потратите 5-10 минут на настройку, и Вы спокойны.
5.
vladimir_makarov
10504.09.12 20:04 Сейчас в теме
(3)(4) Господа, простите, ZIP не пытался использовать, я его не люблю с детства. А WinRAR - с того же детства, как единственный достойный внимамания архиватор. А где т как его приобрести - Ваши проблемы.
(5) ZIP и 7-Zip не одно и тоже, я тоже со времен ещё DOS`а почитал RAR, но потом начал чаще пользоваться 7-zip`ом, особенно ещё и потому - что у него есть плагин для Far`а.
в файл-список закинуть список файликов:
D:\Bases\"КаталогИБ"\1Cv7.MD
D:\Bases\"КаталогИБ"\1Cv7.DDS
D:\SQLBases\BackUPSQL -сделанный предварительно самим SQL по расписанию.
(11) GSoft, Все прекрасно, сам пользуюсь подобным, но дату в имя архива добавляю в обратном порядке да еще добавляю часы и минуты: -ag_YYYY-MM-DD-HH-MM или -ag_YYYYMMDDHHMM. Тогда, во первых, отсортированные по имени архивы будут находиться в порядке создания и, во вторых, в один день можно создавать несколько архивов.
(14)согласен, это один из промежуточных вариантов, который нашел сходу
а так у меня был настроен следующий алгоритм
1. за час до начала работы делался утренний архив под текущей датой
2. каждые три часа делался текущий архив
3. вечером делался последний текущий архив и перезаписывал утренний под текущей датой
Основная проблема в файловой базе 77 это не то как заархивировать данные, а то как отключить пользователей от базы во избежании глюков. Причем сделать это надо не перезагружая сервер. Без проблем "на лету" можно снять только бэкап с SQL версии базы.
33.
vladimir_makarov
10507.09.12 20:47 Сейчас в теме
(12) ok0504, абсолютно согласен! Ровно по этому и предлагаю примеры с АВТОМАТИЧЕСКИМ запуском, причем в то время, когда ЗАВЕДОМО в БД никого нет. Для этого есть все возможности. Всё упрощается, если есть Server, работающий круглосуточно: не надо использовать спящий режим, остаётся только вопрос к местному Админу: КУДА??? Т.е. путь архива. Не сочти идиотом, но повторюсь: Архивировать на тот же носитель, где исходные данные - мало полезное занятие, это без подробностей, все местные понимают.
В принципе при желании можно легко дописать для любого другого архиватора имеющего командную строку.
Из плюсов - простота запуска для пользователей (в нескольких компаниях бухи все никак не нарадуются)))), так как можно запускать в режиме предприятие. Также - не требуется монопольного доступа - работает в многопользовательском режиме.
Имя для файла архива.
set hour=%time:~0,2%
if %hour% lss 10 set hour=0%time:~1,1%
set namefiles=%date:~8,2%%date:~3,2%%date:~0,2%%hour%%time:~3,2%%time:~6,2%
Для надежности наверное ;)
Если не брать отключение юзеров,от файловых баз, то винда и сама легко справляется с архивирование, особенно серверная, из плюсов рара вижу только удобное фильтрование того что надо исключить из архива, для экономии места
(18)Я в смысле зачем перезаписывать утренний архив.
(12)Просто копирую куда нибудь все файлы и их оттуда архивирую.
@echo off
REM chcp 1251
copy C:\База\1Cv8.1CD C:\1Cv8.1CD
set hour=%time:~0,2%
if %hour% lss 10 set hour=0%time:~1,1%
set namefiles=%date:~8,2%%date:~3,2%%date:~0,2%%hour%%time:~3,2%%time:~6,2%
C:\Progra~1\WinRAR\RAR.exe m -m5 C:\Архив\%namefiles%.rar C:\1Cv8.1CD
copy C:\Архив\%namefiles%.rar \\freenas\backup\%namefiles%.rar
(20) Ткачев, Собственно я ставил вопрос об отключении пользователей в 77, там это целая проблема.
А в 8.2 зачем так извращаться? Отключить пользователей программно проще простого, можно никуда ничего не копировать, потом программно запустить выгрузку конфигурации и всё.
А если база в SQL, то всё еще проще - настроить Maintenance Plan, на выгрузку пользовательских баз и забыть про проблемы бэкапа на веки вечные.
Архив при выключение компа, файл с расширением vbs, запускается из gpedit.msc "Конфигурация компьютера-Конфигурация Windows-Сценарии(Запуск/Завершение)-Завершение работы"
For Each ObjEvent In GetObject("winmgmts:").ExecQuery("Select Message From win32_ntlogevent "_
& "where Logfile = 'System' and SourceName= 'USER32' and (EventCode = '1074' or EventCode = '1076') "_
& "and TimeGenerated > '" & year(now) & right(0 & month(now),2) & right(0 & day(now),2) & "000000.000000+000'")
Exit For
Next
If InStr(ObjEvent.Message, "Тип выключения: Выключение питания") > 0 Then
mm = Right(0 & Month(Date()) , 2)
dd = Right(0 & Day(Date()) , 2)
hh = Right(0 & Hour(Time()) , 2)
mn = Right(0 & Minute(Time()), 2)
ss = Right(0 & Second(Time()), 2)
NameFile = Year(Date()) & mm & dd & hh & mn & ss
Set WshShell = CreateObject("Wscript.Shell")
CreateArchive = WshShell.Run("c:\Progra~1\7-Zip\7z.exe a -mx7 -r0 -x!*.cdx D:\Archive\DB_" & NameFile & ".7z d:\1C\DB", 1, True)
End If
да спасибо, старый добрый винрар хорош! но я пользовался какой то уже не помню названия программой, она каждый день так же сама делала бэкапы...но она типо платная) но как всегда нашлись кряки)
30.
vladimir_makarov
10507.09.12 14:51 Сейчас в теме
Господа! о тонкостях ZIP и RAR: просто по памяти: У ZIP есть ограничение на размер файла, нет автоматического деления исходных данных на несколько архивов (последуемых, как дистриб 1С 7.7 разбит на дискеты), есть ли вообще управление из коммандной стороки у ZIP - не проверял. А главное, почему ЛЮБЛЮ с детства WinRAR, эта зараза обрабатывает ВСЕ типы архивов, а вот ZIP RAR-овский - ??? Никак! Да, степень сжатия (в RAR - регулируется), хотя и стандартная похлеще, чем ZIP, скорость и пр... В общем, я фанат WinRAR.
(29) Ткачев, я так понял, это шутка. Что самому-то проблемно их выкинуть??? Лично я никогда не справшиваю пароли (если они есть), зачем??? Клиентам неприятно пароли отдавать... У меня дома проще: просто ИЗНАЧАЛЬНО пароли игнорируются, НО! То, что пароль есть, я вижу, не вижу только текст пароля, а он мне и не нужен... А вообще, тут другая тема обсуждается. Напоминаю: об архивации.
32.
vladimir_makarov
10507.09.12 20:30 Сейчас в теме
(31) Ткачев, это как понимать: "rar windows не понимает, а zip понимает, жирный минус в rar сторону.", то, что я написал (статейка) ИМЕННО об интеграции WinRAR и Windows!!! Любой из примеров можно использовать проще: КНОПКА "Выполнить", а туда эту самую строку, ЗАПУСТИТСЯ НА ВЫПОЛНЕНИЕ!!!
О главном: я не говорю о работе ZIP, ты знаешь, ты и напиши, всем будет интересно. Я описал мои методы, других мне не надо, если кто-нибудь лучше не покажет. Почитай комментарии (выше), там есть оч... хорошие примеры использования именно RAR-ской темы.
35.
vladimir_makarov
10507.09.12 21:16 Сейчас в теме
(34) Ткачев, Главное: ZIP на это способен или нет? Объясни! Не мне, сообществу, судя по комментариям, интерес есть. Я задал тему, которая РАБОТАЕТ!!! Идёт процесс обсуждения. Так ты СОВЕТЫ давай, или новую (подобную) статейку напиши! А я уже попробовал: ответ: НЕТ! ZIP вообще НИКАК для автоматики процесса не подходит, не считая недостатков, которые я выше описал. Одним словом: предложи КОНКРЕТНЫЙ РАБОЧИЙ способ решения текущей темы (автоматическая архивация), означенных в статье, тебе все будут благодарны.
37.
vladimir_makarov
10508.09.12 15:16 Сейчас в теме
(34)А зачем использовать платный WinRAR? Лично у меня несколько дистрибов, все полные и бесплатные. Найти не проблема.
(36)Если и ZIP на такое способен, я рад за него, и наверное все, у кого нет WinRAR.
Чем больше тут накопится примеров использования, тем полезнее всей нашей братии.
Полезная статья, можно ее применять и к другим важным данным, не только к 1С. Но всё же лучше универсальную программу, которая сама все заархивирует, отправит на сервер, выключит комп. Я использую Backup42
А чем не устраивает Effector saver 3 ?
Из описания программы:
Программа Effector Saver 3 осуществляет резервное копирование баз данных 1С:Предприятия, Microsoft SQL, PostgreSQL и других файлов. Архиватор баз 1С:Предприятия 7.7/8.x выполняет свою работу по расписанию и при необходимости может корректно завершить работу пользователей (только для версии 1С:Преприятия 8.х). Effector saver 3 тестирует и исправляет базы, делает любые команды и скрипты.
Есть бесплатная версия.
42.
vladimir_makarov
10508.09.12 21:18 Сейчас в теме
(40) sstar90, поясняю: в моей практике была ситуёвина, когда со мной не договорилисись, к ним пришёл франч, содрал бобла, и сделал АВТОАРХИВАЦИЮ. Шло время, понадобился архив, он развёл ручками своими корявыми (потому, как франч), и сказал: сделать ничего нельзя! Потом они нашли меня, я через ... выдернул данные с HDD, а в его "архиве", кроме имён вложенных каталогов ничего нет... Девки "ручками" забивали остатки с бумажных носителелей. Если ты отвечаешь за сохранность БД, вот и пользуйся своим Effector Saver 3, я в этой статейке намекнул всему честному народу на НАДЁЖНЫЙ и БЕЗОТКАЗНЫЙ способ архивации, где каждый себе хозяин в параметрах. Более того, всем рекомендую: ПРОВЕРИТЬ НАСТРОЙКИ НА ПРАКТИКЕ!!!
Ща много бесплатного намного круче платного, рар давно уже устарел, сам только им пользовался, потом асе появился, 7-zip и т.п., так рар отошел на 2-ое место.
43.
vladimir_makarov
10508.09.12 21:24 Сейчас в теме
(41) Да что ты не успокоишься? Все знают, что есть и другие архиваторы, я написал на примере WinRAR, таким образом обозначил тему, Бога ради, бояре, я намёк дал, а уж Вы фантазируйте, кому как нравится... Я вот тоже в комментарих увидел оч... интересную комбинацию ключей и параметров....
вот думая что за архивировать данные не будет большой проблемы, можно их даже не архивировать, а как выгнать пользователей из программы это уже другой вопрос... слава богу настроил бэкапы на сервере... но недавно защитники информации с целью защиты информации (персональных данных) решили как то защитить Зарплату и Кадры, купили АККОРДы поставили на компы работающие с ЗиК, еще программу VIPNet и запретили держать базу на сервере, вот и пришлось его переносить на локальный компьютер из этой закрытой сети, вот тут видимо и придется думать как автоматизировать БЭКАПЫ))) Теме зелень с тщательно расписанный механизм...
ничего подобного.
Этот метод ТОЛЬКО для 7.7.
Ибо даже файловую 1С8 ПРИ РАБОТЕ заархивировать не удастся. А уж серверную и подавно.
И, если уж на то пошло, есть намного более путные бэкаперы - тот же APbackup со встроенным ZIP и возможностью подключения любых других архиваторов.
Макаров Владимир: (49) AlexO,
1. Приятно видеть нормальную критику. Однако: прошу учесть: я показал, как можно использовать WinRAR and Windows совместно, не претендуя на оригинальность.
2. "Нельзя архивировать 8.х": МОЖНО! Просто в задании укажи откуда и куда, обеспечь доступ в данный момент времени. + Полномочия (на ПК, с которого задание запускается).
3. Сей архив = УНИВЕРСАЛЕН!!! Его можно "расшифровать" в полном объёме на любом компе! При этом, его можно защитить.
(50)"обеспечь доступ в данный момент времени"
- именно что заблокированный файл-базу невозможно сархивировать, именно винраром.
А когда файл разблокирован - это неизвестно.
vladimir_makarov (51) AlexO,
WinRAR, кстати, может архивировать открытые в данный момент файлы (ключ -dh). НО!!! Не рекомендую использовать, т.к. в архиве могут оказаться несогласованные файлы, БД из архива не откроется. Поэтому, уж потудитесь, выбирать время архивации, когда в БД никого нет. Это не трудно. Напоминаю главный "+": у тебя в архиве полностью рабочая БД, выдёргивай и подключай! Архиватор работает долго только 1-й раз, потом он просто переписывает изменённые файлы.
И, напоминаю: я написал, как именно WinRAR использовать для этого, без претензий к другим способам. Если они у тебя есть (кроме конфигураторских), предложи, все вместе и обсудим, чтобы каждый нашёл для себя оптимальное...
есть.
А через конфигуратор - даже сама 1С не рекомендует делать архивы.
Говорит, ненадежное это дело - хреново у нас сделана архивация....
Самый лучший и надежный способ бэкапирования базы 1С - средствами SQL.
ключ -dh
Нет такого ключа в WinRAR :)
И ни один процесс в Windows (читай - приложение WinRAR) не может получить полный доступ к файлу, который уже часть другого процесса.
54.
vladimir_makarov
10529.11.12 12:25 Сейчас в теме
(53)А через конфигуратор - даже сама 1С не рекомендует делать архивы. : именно поэтому я и писал об этом. Так ты намекнул про средство - вот и напиши народу, как им пользоваться!!! Чё слова впустую гонять? И мне интересно, и всем, кто тему смотрит.
55.
vladimir_makarov
10505.12.12 17:23 Сейчас в теме
(51) AlexO, читай (52)
(53) ++++ однозначно. Но! Ключик такой есть! Суть в том, какой у тебя WinRAR? Но, повторюсь, хреновый ключ, если использовать относительно ОТКРЫТЫХ в данный момент БД 1С! Причём, пофиг, к каким платформам они относятся... "Косяки" появятся везде, если неправильно пользоваться. Пример: ты открыл документ (в этот момент запустилась архивация):
а) ты ничего не изменил в документе. /а у него уже переписалась дата измененя и пр./
б) ты изменил документ (но не записал /не изменил егонные движения/) - тут веселее: что он в архив закинет?
в) в архив могут попасть данные ЧАСТИЧНО! В иоге всю БД не открыть...
К чему клоню:
Давайте ЗДЕСЬ обсмудим все известные способы архивации. Я предложил WinRAR. Предлагайте свои! Объясняйте их преимущества! Я же не говорю, что предлагаю панацею... В конце-концов, меня 1CV8х откровенно бесит! Так я молчу, приходится подстраиваться...
57.
vladimir_makarov
10509.07.14 04:36 Сейчас в теме
(56)
Ну пример писать не буду, но если интересно, то подскажу: в WinRAR Есть ключ, который не только устанавливает пароль, но и шифрует архив:
Ключ -HP[пароль] — зашифровать и данные, и заголовки файлов
Как и ключ -p[пароль], этот ключ включает режим шифрования архива, однако при этом шифруются не только содержащиеся в файлах данные, но и другая отображаемая информация, например, имена файлов. При указании этого ключа шифруются все важные области архива, включая данные файлов, имена файлов, размеры, атрибуты, комментарии и другие блоки, благодаря чему обеспечивается более высокая степень защиты.
Архив, зашифрованный с ключом -hp, без пароля невозможно не только распаковать, но даже просмотреть список содержащихся в нём файлов.
Принцип работы 1С, заключается в том, что основной файл базы 1cv8.1CD никак не блокируется. Блокировки накладываются на вспомогательный файл 1cv8.1CL. То есть когда 1С хочет что-то прочитать, или записать то она блокирует 1cv8.1CL с определенными смещениями, которые соответствуют тем или иным таблицам. Когда все, что нужно прочитала (записала), то блокировки снимаются.
В упрощенном виде можно процесс "Блокировка - Запись - Разблокировка", представить как транзакцию. В силу естественных причин они должны быть атомарны (неделимы), ведь иначе получим несогласованные данные, и как следствие заведомо аварийную базу.
В момент простого копирования, есть очень большой риск, что получите копию с несогласованным данными. Ведь пока вы копировали 5-й по счету мегабайт, 1С в 1-м по счету мегабайте внесла некоторые изменения. И вы получите копию, где 5-й мегабайт "свежий", а 1-й мегабайт "старый". Другими словами копия получилась несогласованная, аварийная, и она вам обязательно за это "отомстит" в самый неподходящий момент.