HotCopy

HotCopy ist ein DOS-Programm, das ein Snapshot der Datenbankdateien des Navision-Servers macht und diese Dateien dann in ein anderes Windows-Verzeichnis kopiert. HotCopy kann auch dann gestartet werden, wenn mit der Navision-Datenbank gearbeitet wird, die gesichert werden soll.

Wir werden in diesem Tutorial eine Batchdatei erstellen, die zum einen mit dem Programm HotCopy die Navision-Datenbankdateien kopiert und zum anderen mit einem weiteren Programm die gemachte Sicherung komprimiert.

Du benötigst lediglich einen Text-Editor, in dem du eine Datei als reinen ASCII-Text speichern kannst. Das Programm Notepad von Microsoft beispielsweise ist so ein Text-Editor.

Beginnen wir mit einem einfachen DOS-Befehl um die Bildschirm-Ausgaben generell abzuschalten.

@ECHO OFF

Als nächstes setzen wir einige Variablen. Die Werte der Variablen müssen wahrscheinlich von dir angepasst werden.

SET PathHotCopy=C:\Programme\Navision Server\HotCopy.exe
SET PathDelAge32=C:\Backup\DelAge32.exe
SET PathARJ=C:\Backup\arj__278\arj.exe
SET DeleteAge=5
SET PathDestination=C:\Backup\Backups
SET Servername=srv-attain
SET UserId=HOTCOPY
SET Password=hotcopy

Nachdem wir die Variablen definiert haben, werden deren Werte zunächst auf Richtigkeit geprüft und ggf. eine Fehlermeldung ausgegeben.

IF NOT EXIST %PathHotCopy% GOTO ERR_HOTCOPY
IF NOT EXIST %PathDelAge32% GOTO ERR_DELAGE32
IF NOT EXIST %PathARJ% GOTO ERR_ARJ
IF NOT EXIST %PathDestination% GOTO ERR_DESTINATION

Jetzt können wir das Programm HotCopy starten. Ihm übergeben wir einige Parameter die angeben welche Datenbankdateien gesichert und wo sie hinkopiert werden sollen und welcher Navision-Benutzer (Benutzer-ID und Kennwort) dafür benutzt werden soll.

%PathHotCopy% source="D:\db1.fdb" "D:\db2.fdb" destination=%PathDestination% servername=%Servername% user=%UserId% password=%Password%

Die Angaben der Datenbankdateien über den Parameter source müssen natürlich durch deine Pfade ersetzt bzw. erweitert werden.

Lade dir jetzt über die Internet-Adresse http://testcase.newmail.ru/files/arj__278.exe ein weiteres kleines Tool herunter und entpacke es. Mit diesem Tool können wir die Datenbankdateien komprimieren.

%PathARJ% a "backup-%date%" "%PathDestination%\*.fdb"

Nachdem nun alles komprimiert worden ist, können wir die von dem Programm HotCopy kopierten Datenbankdateien löschen.

del /q "%PathDestination%\*.fdb"

Jetzt werden wir mit Hilfe des Tools DelAge32 alle ARJ-Dateien löschen, die ein bestimmtes Alter erreicht haben. Somit behalten wir nur immer die aktuellsten Datensicherungen. Das Tool kann über die Internet-Adresse http://home.mnet-online.de/horst.muc/win/delage32.zip heruntergeladen werden. Da dies die letzte Aktion für die Datensicherung sein wird, wird zum Schluss noch an das Ende der Batchdatei gesprungen.

%PathDelAge32% "%PathDestination%\*.arj" %DeleteAge%
GOTO END

Das war es auch schon fast. Eine Kleinigkeit fehlt noch: Die Sprungmarkierungen. Im Skript springen wir mit Hilfe des Befehls GOTO zu einigen Sprungmarken. Diese müssen nun noch erstellt werden.

:ERR_HOTCOPY
ECHO "%PathHotCopy%" existiert nicht!
ECHO Ueberpruefen Sie den Pfad.
GOTO END

:ERR_DELAGE32
ECHO "%PathDelAge32%" existiert nicht!
ECHO Ueberpruefen Sie den Pfad.
GOTO END

:ERR_ARJ
ECHO "%PathARJ%" existiert nicht!
ECHO Ueberpruefen Sie den Pfad.
GOTO END

:ERR_DESTINATION
ECHO "%PathDestination%" existiert nicht!
ECHO Ueberpruefen Sie den Pfad.
GOTO END

:END

Die fertigerstellte Bachtdatei könnte nun über einen neuen „Geplanten Task“ in regelmäßigen Abständen automatisch ausgeführt werden.

Download

Die komplette Bachtdatei kannst du hier herunterladen: backup.bat