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