скрипт для бэкапа 1с #798478


#0 by 1сПупс
добрый день! пользовался кобиан бэкап, периодически вылетает. Пробовал Directory Backuper - вообще полная ерунда, не бэкапит. файлы по 0 байт в архиве написал скрипт (с хабра подправил): почему-то нет вложенных папок в архиве. Может кто пособит?
#1 by 1сПупс
ап
#2 by Андрюха
Добавь ключ winrar -R - рекурсивно с вложенными папками
#3 by Доминошник
О ключах rar
#4 by АнтонБ
такие бекапы будут битые. Если в это время открыт 1с. Так как в файл 1с пишет изменения не сразу. Кеширует. Нужно средствами 1с либо средствами sql сервера. А это профанация.
#5 by АнтонБ
Запусти переповедение и забекапь этим скриптом в процессе.
#6 by 1сПупс
у меня 7.7 файловая
#7 by lodger
1с не рекомендует средствами 1с делать бекапы, только для развертки в других форматах и для тестирования. ты же проверяешь, что в 1с никто не сидит?
#8 by Feunoir
Возьми Effector Saver. Для 1С ничего больше и не нужно.
#9 by АнтонБ
Он как раз читает открытые для записи файлы. Тойесть - не проверяет
#10 by 1сПупс
не не проверяю, это ночью делается
#11 by SunFox
Если не XP, то вот это лучше .
#12 by Йохохо
лучше починить кобиан, например завести для него учетку с правами админа. Скрипт мистаматофильтр и без теневой копии нафиг не нужен, тем более для 7.7 с ее блокировками просто при открытии списка баз
#13 by Vladal
Как вариант - моя поделка в далёком 2007 году
#14 by HIDDEN MESSAGE
#15 by DJ Anthon
пример батника для этого файла off e: cd e:1SBases1SUSArchive call Backup.bat BudgetHRM /F e:1SBasesBudgetHRM e:1SBases1SUSArchive Архивация Пароль call Backup.bat StateAccounting /S SERVER-8R2StateAccounting e:1SBases1SUSArchive Архивация Пароль cls
#16 by DJ Anthon
нужен еще файл handle.exe от sysinternals, чтобы киллить процессы 1Ски, незакрытые юзерами в терминале, да и просто зависшие или забытые. первый запуск батника надо сделать под админскими правами, чтобы в реестре внеслись небольшие правки для управления конфигуратором в пакетном режиме. старые архивы удаляются, оставляется только один, кроме этого, все пакуется раром на всякий случай. а уже каталог можно гудсинком сбрасывать на фтп, чтобы защититься от шифрователей. все просто и работает как часы уже больше года.
#17 by DJ Anthon
спасибо Abrahams за подкинутые идеи
#18 by Лефмихалыч
обдолбатники... фу...
#19 by arsik
Вы как в 20 веке живете. Про теневые копии вы походу не в курсе.
#20 by Jump
+1000
#21 by DJ Anthon
в курсе, не понравились, отказался. тем более, что интернет там слабый, мне выгрузки на фтп еле-еле успевают упасть. теневые копии не получится так сделать.
#22 by DJ Anthon
тем более база во время работы коряво копируется, так что это заодно завершение работы юзеров в нужных базах.
#23 by DJ Anthon
копии томов отлично так же шифруются шифровальщиками и содержат кучу мусора.
#24 by arsik
Какая связь между теневыми копиями и выгрузка на ФТП?
#25 by DJ Anthon
большие сильно. в канал не пролазят
#26 by arsik
Ты издеваешься что ли? Тебе нужна теневая копия только для того что бы из нее забэкапить свою папку с базой, что бы юзеров не выкидывать. Зачем ее всю то тащить? Хотя бы статейку какую ни будь прочитай. Вот например - "важная возможность VSS — архивирование файлов, открытых или блокированных таким приложением, как Microsoft SQL Server или Microsoft Exchange."
#27 by arsik
+ Логика такая. Создаем теневую копию - Из нее архивируем папку с базой - Удалям теневую копию.
#28 by mehfk
Зачем именно handle.exe? taskkill не справился?
#29 by DJ Anthon
тасккилл там есть. handle.exe нужен, чтобы вычленять только определенные процессы 1С, чтобы не все грохать. он создает файл с айди процессов, а затем файл парсится. ну и зачем столько лишних движений?
#30 by mehfk
Понял, отстал.
#31 by DJ Anthon
я понял, вы к чему )) я не админ, мне платят только за 1С, так что этот скрипт - дешево и сердито. если будет необходимость, буду делать теневые копии, но очень сомневаюсь, что буду лезти туда, где все работает. и так забот хватает.
#32 by ildary
я когда то сделал так - в сеансе самого долгоработающего пользователя вечером отлавливается полчаса покоя (idle), после чего происходит ребут компа с базой (мало ли какие процессы могут висеть) и после перезагрузки сразу стартовал архивацию (7zip) - способ работает много лет до сих пор.
#33 by Йохохо
просто мега скрипт от мега 1сника дает низкий шанс, что бэкап рабочий
#34 by DJ Anthon
сбоев не было. dt сам по себе ненадежный, подкрепляю винраром. а там где скуль, там есть админы, которые за ним вроде следят, но уже моя дтшка спасала как-то раз базу
#35 by arsik
Это не "лишние движения", а сложившаяся практика.
#36 by 1сПупс
как с помощью idle отловить покой? это батничек делает? попробовал эффектор сайвер, почему то он сохраняет только эти файлы разве этого достаточно?
#37 by 1сПупс
SETLOCAL enabledelayedexpansion rem Глубина архивации (количество последних архивов, которые должны быть сохранены) SET ArcDepth=7 rem Путь к каталогу, в который будут складываться резервные копии SET DirName=Y:ackup77 rem Путь к каталогу с новым бэкапом (%DATE: =0% %TIME: =0% - замена пробелов в %DATE% и %TIME% на нули) FOR /f "tokens=1-7 delims=/-:., " %%a IN ("%DATE: =0% %TIME: =0%") do (     SET NewBkDir=%DirName%%%c.%%b.%%a_%%d.%%e.%%f.%%g ) rem Путь к лог-файлу SET LogFile=%DirName%log.LOG ECHO ***** НАЧАЛО %DATE% %TIME% ***** >> "%LogFile%" IF NOT EXIST "%DirName%" (     MD "%DirName%"     ECHO "%DirName%" - создан >> "%LogFile%" ) ECHO Создание нового каталога для бэкапа: >> "%LogFile%" IF NOT EXIST "%NewBkDir%" (     MD "%NewBkDir%"     ECHO "%NewBkDir%" - создан >> "%LogFile%" ) ELSE (     ECHO "%NewBkDir%" - существовал ранее >> "%LogFile%" ) rem Блок создания новой резервной копии SET SrcData=D:WORK1S77 SET ArcName1=%NewBkDir% SET ArcName2=%NewBkDir%77.rar ECHO Архивация "%SrcData%" с помощью RAR >> "%LogFile%" robocopy "%SrcData%" "%ArcName1%" /e F:77 ar.exe a -m5 -md4096 -ep1 -ri1 -dh -df -ilog"%LogFile%" "%ArcName2%" "%ArcName1%" rem Соблюдение глубины архивации (должны остаться только последние %ARCDEPTH% каталогов) ECHO Удаление старых бэкапов: >> "%LogFile%" SET Index=0 rem DIR /AD /B /O-D "%DirName%" - получение упорядоченного по дате списка каталогов, начиная с самых новых FOR /f "tokens=1" %%i IN ('DIR /AD /B /O-D "%DirName%"') DO (     rem Первые %ArcDepth% архивов пропускаем, остальные удаляем     SET /a Index+=1     IF !Index! LEQ %ArcDepth% (         echo "%DirName%%%i" - оставлен >> "%LogFile%"     ) else (         RMDIR /S/Q "%DirName%%%i"         echo "%DirName%%%i" - удален >> "%LogFile%"     ) ) ECHO ***** КОНЕЦ %DATE% %TIME%  ***** >> "%LogFile%" ECHO. >> "%LogFile%" ECHO. >> "%LogFile%" логика такая: 1.делаю теневую копию 2.делаю архив из нее 3.удаляю теневую копию еще бы грузить это на dev от яндекса.
#38 by 1сПупс
все оттещщено работает 100% рацпредложения поощряются
#39 by Jump
Ужас, а не скрипт. Во время работы скрипта пользователь перепровел пару документов и  у вас вместо архива каша.
#40 by Jump
>>делаю теневую копию Покажите в каком месте скрипта вы делаете теневую копию, в упор не вижу.
#41 by 1сПупс
ночью никто не спит думаете
#42 by 1сПупс
?
#43 by 1сПупс
robocopy это не теневая копия?
#44 by arsik
Я тебя расстрою, но нет.
#45 by 1сПупс
а может и так норм? нет никого в базе
#46 by Jump
робокопи это утилита для копирования файлов. Теневая копия это мгновенный снимок состояния тома. Нельзя сделать теневую копию файла - она делается мгновенно для всего диска. При создании теневой копии не происходит никакого копирования. Никуда ничего не копируется. Просто сбрасываются буферы и создается несколько записей в файловой системе и
#47 by Jump
Теневую копию из скрипта можно создать например так - vssadmin.exe create shadow /for=C: Создаст теневую копию диска C: vssadmin.exe List Shadows Покажет все существующие теневые копии. mklink /D C:shadow  \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1 Примонтирует том теневой копии \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1 в каталог C:shadow
#48 by Jump
Если из интерфейса то просто в свойствах диска зайти во вкладку теневые копии, выбрать нужную и она сама примонтируется как сетевой каталог.
#49 by 1сПупс
нет вкладки теневые копии
#50 by arsik
Утилита. Минимум настроек. Все что нужно делает, кроме архивации.
#51 by arsik
Вообще то это и есть теневые копии. Проверь в командной строке "VSSAdmin List Shadows"
#52 by Jump
На скриншоте открыта же вкладка предыдущие версии. Сделай в командной строке под админом vssadmin.exe create shadow /for=C: и в этой вкладке появится еще одна копия с текущим временем создания.
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С