А.... забей. Это не для всех случаев. Есть ИБ в которых присутствуют внешние библиотеки и даже добавочные самодельные DBF+CDX файлы. Естественно 1С не умеет это понимать и не будет копировать.
На старой работе была ИБ где штатное резервное копирование к штатной БД вобще не подходило. В БД были средства её защиты. Нужно было делать тогда штатное резервное копирование + докопирование руками.
Мой вариант.
Выкинул всех из 1С 7.7. Или просто вечером автомат настроил на перезагрузку сервера. Потом сразу после перезагрузки стартует робот удаляющий лишние CDX файлы. Затем архиватор пакует БД в указанную папку вида
D:\backup\BackUp_%date%\
Затем если доступен бэкап сервер то перебрасывает результат на него. И если переброска удалась то сносит файл в D:\backup.
Код
set dt=%date%
del C: Backup base /q /s
xcopy "G: tst base_new_9.2 *.*" C: Backup Base *.* /y /e
"c: program files winrar rar.exe" a -[email protected]: tst base_new_9.2 backup_excluse.lst -ep1 -ibck -ilogbackuplog.txt -m5 -rr3p "Back UP %dt%.rar" C: Backup Base
xcopy "Back UP %dt%.rar" "C: Backup back "
del "Back UP %dt%.rar" /s
xcopy "C: Backup back Back UP %dt%.rar" " svkrapov b *.*"
rem Если скопировалось на BackUP сервер то стираем локальную копию.
rem В противном случае если сервер не доступен - пусть хранится на DBServer1.
if exist " svkrapov b Back UP %dt%.rar" del "C: Backup back Back UP %dt%.rar"
set dt=%date%
нужен для того чтобы не было проблем с бэкапом в случае его старта в 23:59
А вот грохалка процессов на Автоит
Код
Ini_file=@ScriptDir & " " & "options.ini"
ProcessesToClose=IniReadSection( Ini_file, "Process list" )
If @error Then
MsgBox(4096, "", "Error occurred, probably no INI file.",50)
Exit
EndIf
for ProcessCloseCount=1 to ProcessesToClose[0][0]
ProcessName=ProcessesToClose[ProcessCloseCount][1]
if ProcessName='' then
ExitLoop
EndIf
ProcessList=ProcessList (ProcessName)
for ProcessIndex=1 to ProcessList[0][0]
PID = ProcessExists(ProcessList[ProcessIndex][1]); Will return the PID or 0 if the process isn't found.
If PID Then ProcessClose(PID)
Next
Next
В папке со скриптом должен быть файл options.ini вида
Код
[Process list]
process1=1CV7.exe
process2=1cv7s.exe
process3=
process4=
process5=
process6=
Собственно говоря, это то что надо грохнуть.
Грохалка актуальна для сервера терминалов.
В принципе ею можно убивать любые процессы. Хорошо работает в bat и cmd скриптах )))