Читать статья по информатике, вычислительной технике, телекоммуникациям: "Маленькие хитрости" Страница 3

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

чистим временный каталог

Del С:\Temp\DB\*.*

; копируем в него архивируемые файлы рабочей базы (*.md, *.dd, *.log, *dbf)

Copy D:\1С\DB\1cv7* С:\Temp\DB

Copy D:\1C\DB\*.dbf C:\Temp\DB

; сохраняем предыдущую версию архива под новым именем

copy C:\BACKUP\db.rar C:\BACKUP\db0.rar

; создаем новый архив

rar.exe u - r - m1 - dh - std C:\BACKUP\db.rar С:\Temp\DB\*.*

if errorlevel 0 goto rpl

echo P_A_C_K_I_N_G___E_R_R_O_R__!

goto end

:rpl

; сохраняем копию архива в надежном месте

net use Z: \\Adm\Storage

copy C:\BACKUP\*.rar Z:

net use Z: /delete

:end

Выполнять сию процедуру можно не прерывая производственного процесса (никого из базы выгонять не надо), именно для этого мы архивируем не саму базу, а ее временную копию.

На этом все, осталось всего навсего запустить системную службу Sсhedule: Explorer-ControlPanel-Services-Schedule-Startup-Automatic (поддерживается только под Win NT, для Win'9X нужны специальные внешние утилиты) и набрать из командной строки что-нибудь аналогичное :

At 13:00 /Every:M, T, W, Th, F C:\COMMAND\arch.cmd

At 18:00 /Every:M, T, W, Th, F C:\COMMAND\arch.cmd

At 07:00 /Every:M, T, W, Th, F C:\COMMAND\shutdown /l /r /y /c

и все - мы имеем два раза в день автоматическое архивирование нашей базы, ежедневно - с понедельника по пятницу. По-моему просто и самодостаточно. Как часто нужно делать архивы - это зависит от интенсивности документооборота в вашей организации, я делаю два раза в день, т.ч. если что, то придется восстанавливать документы максимум за пол-дня (тьфу-тьфу):

Теперь о третьей строке в команде AT - в плане автоматизиции рутинных действий я пошел еще дальше, как я уже упоминал у меня каждую ночь производится реиндексация базы, для этого используется такой командный файл :

REINDEX.CMD

@echo off

; каталог базы

set db=D:\1С\DB

; каталог программы

set pr="C:\Program Files\1cv75\bin\1cv7"

; принудительно сносим индексы

del %db%\*.cdx /Q

; запускаем программу монопольно под "фиктивным" пользователем

%pr% enterprise /D%db% /M /NЧистяков /Pstart

Этот командный файл вставляется в папку автозагрузки на сервере, утилита SHUTDOWN.EXE (из Windows NT Resource Kit - это набор дополнительных сервисных утилит) производит перезагрузку сервера, для того чтобы по загрузке не нажимать магическую комбинацию из трех пальцев (Ctrl-Alt-Del) и не вводить пароль, а загрузить сервер автоматически, нужно подправить системный реестр NT (запустить из командной строки regedit.exe) :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]

"DefaultUserName"="YourProfileName"

"DefaultDomainName"="Comp"

"AutoAdminLogon"="1"

"DefaultPassword"="YourPass"

где YourProfileName - имя профиля администратора на сервере (по умолчанию Administrator), Comp - сетевое имя сервера, YourPass - пароль аминистратора на сервере (обязательно должен быть не пустым).

Итак подъитожим - в заданное нами время происходит автоматическая перезагрузка сервера с переиндексацией базы, для того чтобы программа по окончании переиндексации сама завершилась необходимо в глобальном модуле конфигурации предусмотреть некие нестандартные действия по обработке входа в программу исскуственного "фиктивного" пользователя (Чистяков - без пароля) - они приведены в демонстрационной конфигурации (архив Adm.rar).

В принципе никто не запрещает пойти еще дальше - и наряду с переиндексацией базы по ночам выполнять любые желаемые действия, например групповое перепроведение документов для восстановления границы последовательности или формирование "тяжеловесных" отчетов, с последующим сохранением их результатов в *.mxl файлах, рассылки прайсов по


Интересная статья: Быстрое написание курсовой работы