Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> 1С. Несколько полезностей, Резервное копирование + автоматическое прописывание баз.
Decker
сообщение 15.4.2011, 0:23
Сообщение #1


Администратор
*****

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1



Итак, рассмотрим классическую ситуацию. Имеется терминальный сервер, например на базе Win2000/Win2k3 и несколько баз 1С 7.7 (положим что все базы хранятся в папке D:\Bases_1C в своих подпапках). Необходимо организовать резервное копирование этих баз + автоматическую регистрацию всех баз в списке 1С при входе пользователя в систему. Т.е. например, чтобы при создании нового пользователя, когда он входит в систему у него уже был весь необходимый для работы список баз, и даже если он что-то случайно удалит, то, чтобы при следующем входе в систему список баз восстанавливался у него автоматически. Для реализации этих нехитрых задач напишем несколько пакетных сценариев. Предположим, что у нас установлен WinRar 4.x, и на диске D:\ создана папка Backups, которая собственно и будет использоваться для хранения наших резервных копий. В папке Backups создаем файл arc.cmd следующего содержания:

Код
@ECHO OFF
SET PREFIX=%1
SET BAZA=%2

SET FOLDER=%DATE%

cd D:\Backups
mkdir "%FOLDER%"
cd "%FOLDER%"
del /F /Q %PREFIX%.RAR
del /F /Q %PREFIX%.LOG

ECHO Begin: %DATE% %TIME% > %PREFIX%.LOG
"C:\Program Files\WinRar\WINRAR.EXE" a -m5 -ep1 -dh -r -k -x*.cdx -ilog%PREFIX%.LOG -inul %PREFIX%.RAR D:\Bases_1C\%BAZA%\*.*
ECHO. >> %PREFIX%.LOG
ECHO. >> %PREFIX%.LOG
ECHO End: %DATE% %TIME% >> %PREFIX%.LOG

cd D:\Backups


У этого сценария два входящих параметра, PREFIX - префикс создаваемого архива и BAZA - имя папки базы (относительный путь) в D:\Bases_1C. Т.о. если например у нас в D:\Bases_1C\1SBDB лежит наша база бухгалтерии, то при запуске arc.cmd BUH 1SBDB папка с нашей базой, за исключением *.CDX файлов будет помещена в архив с разбивкой по датам в D:\Backups. Можно также написать файл all.cmd, в котором перечислить все подлежащие архивации базы:
Код
cd D:\Backups
call arc.cmd BUH 1SBDB


Теперь что касается автоматической регистрации баз в списке. Берем пользователя у которого прописан полный список необходимых баз и экспортируем в reg файл ветку реестра [HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles] , например, помещая ее в файл Spisok_Baz.reg. Далее создаем файл Spisok_Baz.cmd следующего содержания:
Код
@echo off
setlocal
if defined PROCESSOR_ARCHITEW6432 (set reg="%systemroot%\sysnative\reg.exe") else (set reg=reg)

set userfile=Spisok_Baz.reg
set savepath=%~dp0

call :restore "hkcu\Software\1C\1Cv7\7.7\Titles" "%savepath%%userfile%"
goto :eof

:restore
if exist %2 (
%reg% query %1 >nul 2>^&1
if not errorlevel 1 (
echo.
echo Deleting %1...
%reg% delete %1 /f
)
echo.
echo Importing %2...
%reg% import %2
)


После чего прописываем его в автозагрузку для всех пользователей, либо с помощью групповых политик в качестве сценария входа в систему. При входе пользователя в систему у него очистится список баз и добавятся все базы сохраненные в Spisok_Baz.reg, если вы не хотите чтобы список баз очищался, а только добавлялись новые, тогда закомментируйте с помощью команды rem или удалите строчку %reg% delete %1 /f .


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 24.6.2025, 2:53
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования