Понадобилось как-то настроить архивацию информационных баз 1С 7.7 простым скриптом, а именно bat-файлом. Вот что у меня получилось:
Файл arc1c.bat
rem @echo off
rem Убиваем все 1С
KillProcess.exe 1cv7s.exe
rem перезапускаем сервер
net stop mssqlserver
net start mssqlserver
rem устанавливаем переменные
set path1c=C:\1C_!!!\1Cv77\BIN\
set arh=D:\Arc1C\МОЯ_БАЗА\arc
set base=D:\1C!!!\МОЯ_БАЗА\
set instr=Unload.txt
set out=Reg.txt
set user=USER_RBD
set pas=123456
set d=%date: =%
rem set d=%d:.=-%
rem создаем временный командный файл для 1С-ки
echo [General]>%instr%
echo Output=%~dp0%out%>>%instr%
echo Quit=Y>>%instr%
echo UnloadData=Y>>%instr%
echo [UnloadData]>>%instr%
echo UnloadToFile=%arh%>>%instr%
echo IncludeUserDef=Y>>%instr%
rem выгружаем
Start /D %path1c% /WAIT %path1c%1CV7s.exe CONFIG /D%base% /N%user% /P%pas% /@%~dp0%instr%
rem переименовываем
move /Y "%arh%.zip" "%arh%%d%.zip"
copy "%arh%%d%.zip" \\server\e$\Arc1C\МОЯ_БАЗА\
Теперь более детально о работе скрипат:
KillProcess.exe 1cv7s.exe
- убиваем процессы 1С для того что-бы никто не помешал архивации
net stop mssqlserver
net start mssqlserver
- перезапускам MS SQL Server, на всякий случай ;)
set path1c=C:\1C_!!!\1Cv77\BIN\
set arh=D:\Arc1C\МОЯ_БАЗА\arc
set base=D:\1C!!!\МОЯ_БАЗА\
set instr=Unload.txt
set out=Reg.txt
set user=USER_RBD
set pas=123456
set d=%date: =%
rem set d=%d:.=-%
- устанавливаем все необходимые переменные, для гибкости настройки скрипта. Если нам что-то нужно будет сделать, то будем использовать эти переменные. Назначение переменных не трудно понять, надеюсь.
echo [General]>%instr%
echo Output=%~dp0%out%>>%instr%
echo Quit=Y>>%instr%
echo UnloadData=Y>>%instr%
echo [UnloadData]>>%instr%
echo UnloadToFile=%arh%>>%instr%
echo IncludeUserDef=Y>>%instr%
- создаем командный файл (%instr% = Unload.txt), именно его будем передавать 1С для выполнения нужных действий.
Start /D %path1c% /WAIT %path1c%1CV7s.exe CONFIG /D%base% /N%user% /P%pas% /@%~dp0%instr%
- запускам 1С: Предприятие в режиме конфигуратора и создаем архивный файл.
move /Y "%arh%.zip" "%arh%%d%.zip"
copy "%arh%%d%.zip" \\server\e$\Arc1C\МОЯ_БАЗА\
- созданный архив переименовываем в читаемый вид, примерно в такой arc03.05.2009.zip.
Следует учесть что данный скрипт адекватно работает только с серверной версией 1С: Предприятие 7.7. Если использовать DBF-версию, то скорее всего вам после архивации придется выполнять переиндексацию ИБ, или что еще хуже база может "поломаться".
Отправить комментарий