Datensicherung ueber eine selbsterstellte Batch-Datei
Aus LexWIKI
Inhaltsverzeichnis |
Beschreibung:
Falls Sie ein z.B. jeden Abend um 23.00 ein Backup-Programm laufen lassen wollen, so müssen Sie vorher den Lexware®-Datenbankdienst herunterfahren, da sonst die unten genannten Dateien nicht kopiert werden können.
Lösung:
Für diese Problematik liegen uns mehrere Lösungen vor:
Lösungsansatz von Burkhard Flügge
- Ändern Sie zunächst die Startart der SQL-Datenbank auf "NT-Dienst", falls dies noch nicht der Fall ist. Stoppen Sie die Datenbank kurz vor dem Backup mit dem Programm "Netstop.bat" aus dem Verzeichnis "...\Lexware\Sybase\SQL Anywhere 7\Sybase-Start". Nach dem Backup starten Sie die Datenbank analog mit "Netstart.bat" aus dem gleichen Unterverzeichnis. Das Stoppen und Starten können Sie automatisch über den Windows-Taskplaner steuern.
- Alternativ können Sie das Backup über eine selbsterstellte Batch-Datei durchführen lassen. Das unten aufgeführte Beispiel kopiert das Datenbankverzeichnis (SOURCE) in den angegebenen Zielpfad (DEST) und fügt diesem einen neuen Unterordner mit Tagesdatum zu, so dass alte Sicherungen nicht überschrieben werden.
- Kopieren Sie den folgenden Text in einen Texteditor, (z.B. NOTEPAD) und speichern Sie diesen unter "LexwareBackup.bat" Diese Batch-Datei kann ebenfalls automatisch über den Windows-Taskplaner ausgeführt werden.
- Beachten Sie beim Kopieren des Scriptes, dass eine neue Zeile erst mit einer neuen Zeilen-Nummer beginnt, das heißt, dass alles was in einer Zeilen-Nummer erscheint, auch in eine Zeile gehört. Diese Batch-Datei kann ebenfalls automatisch über den Windows-Taskplaner ausgeführt werden.
- @ECHO OFF
- REM
- REM Setze Verzeichnisse
- REM
- SET SOURCE=C:\Programme\Lexware\Datenbank
- SET DEST=D:\Lexware-Datenbank-Backup
- REM
- REM Erstelle Zielpfad, falls nicht vorhanden
- if not exist %Dest%\%Date% Md %DEST%\%Date%
- REM
- REM Stop DB Server
- net stop ASANYS_LXDBSRV
- REM
- REM Kopiere Verzeichnis
- xcopy %SOURCE% %DEST%\%Date% /c/s/r/d/y/i
- REM
- REM Starte DB Server
- net start ASANYS_LXDBSRV
Lösungsansatz von Günter Merkle
- SET LOG="C:\TEMP\logfile.txt"
- date /T >> %LOG%
- time /T >> %LOG%
- net stop "ASANYs_LXDBSRV" >> %LOG%
- cd c:\Programme\winzip
- winzip32 -min -a -r -ex -hs c:\temp\lexware.zip @c:\sicherung\lexware.txt
- copy "C:\temp\lexware.zip "Pfad\lexware.zip" /V /F /R /S>> %LOG%
- *** Sicherung auf gemountetes Laufwerk
- *** Pfad der Sicherung ist individuell zu setzen
- net start "ASANYs_LXDBSRV" >> %LOG%
- del "C:\temp\lexware.zip" >> %LOG%
- exit 0
Erklärung:
- Zeile 1: Protokoll-Datei
- Zeile 2 / 3: Datum und Uhrzeit werden in LOG-Datei geschrieben
- Zeile 4: DB-Dienst wird gestoppt;
- Ergebnis wird in LOG-Datei protokolliert
- Zeile 5: Wechsel ins Verzeichnis "winzip"
- Zeile 6: winzip starten
- Dabei liest winzip die Namen der zu archivierenden Dateien aus der Datei C:\sicherung\lexware.txt und archiviert sie unter c:\temp\lexware.zip. Das "komische Zeichen" vor der Datenherkunft ist nichts anderes, als das "at"-Zeichen, das man von der E-Mail-Adresse her kennt.
- Dies hat den Vorteil, dass bei Änderung des Archivierungsumfangs, Prozedur / Skript nicht geändert werden müssen, sondern nur die unproblematische List-Datei. Diese Änderung muss ggf. auch kein Programmierer durchführen.
- Bei uns enthält die C:\sicherung\lexware.txt die Zeilen
- C:\Programme\Lexware\Datenbank\LxOffice.db
- C:\Programme\Lexware\Datenbank\LxOffice.log
- C:\Programme\Lexware\Datenbank\LexKonto.db
- C:\Programme\Lexware\Datenbank\LexKonto.mdb
- C:\Programme\Lexware\Datenbank\LxSybDB.rpd
- C:\Programme\Lexware\Datenbank\History.xml
- C:\Programme\Lexware\Datenbank\LxStart.txt
- C:\Programme\Lexware\Formulare
- Zeile 7: xcopy kopiert die gezipte Datei auf ein anderes Laufwerk (Laufwerk muss bereits gemountet sein oder innerhalb des Skripts vor dieser Zeile mit "net use" gemountet werden), Ziel-Pfad ist individuell zu setzen (dto. xcopy-Parameter); Vollzug des Kopiervorgangs wird in der LOG-Datei protokolliert
- Zeile 8: DB-Dienst wird wieder gestartet; Ergebnis wird in LOG-Datei protokolliert
Wichtiger Hinweis:
- im Kommando-Fenster prüfen, ob "at" verfügbar, z.B. anhand "at /?"
- keine Umlaute in den PFAD-Angaben und dem Skript verwenden!
- bei Verzeichnissen-Namen mit Leerzeichen im Skript oder bei Kommandos vor und danach Anführungs- und Schlußzeichen setzen (s.o.)!
- Die Ablauffähigkeit des Skripts und der korrekten Syntax kann geprüft werden, indem zuvor die Kommandos im Kommando-Fenster ("DOS-Fenster") nach dem Prompt-Zeichen eingegeben werden (nächstes Kommando erst eingeben, wenn Prompt-Zeichen wieder erscheint!).
Kategorien: Bedienung | Datensicherung | Anlagenverwaltung pro | Buchhalter premium | Buchhalter pro | Bueroservice komplett | Fehlzeiten pro | Financial office premium handwerk | Financial office premium | Financial office pro | Handwerk premium | Lohn+gehalt premium | Lohn+gehalt pro | Neue steuerkanzlei | Reisekosten pro | Warenwirtschaft premium | Warenwirtschaft pro

