Verwaltung - Batch-Modus

<< Klicken um das Inhaltsverzeichnis anzuzeigen >>

Navigation:  Verwaltung >

Verwaltung - Batch-Modus

Previous pageReturn to chapter overviewNext page

Batch-Modus

 

Regelmäßig durchzuführende Sicherungs- und Importaufgaben können in einer Skriptdatei hinterlegt und zu bestimmten Zeiten aktiviert werden, indem TSN unter Angabe der Skriptdatei als Parameter aufgerufen wird (Ein Zeitplan für die Ausführung des Skripts kann z.B. mit dem DOS-Kommando "SchTasks" erstellt werden, was am Ende dieses Hilfetextes näher erläutert wird). Folgende Aktionen können damit ausgeführt werden:

Sichern von Mandanten (inklusive aller Krisen)

Sichern einzelner Krisen

Sichern des Systems (Komplettsicherung von Systemdatenbank sowie aller Mandanten und Krisen)

Importieren von Betrieben aus BALVI iP

Aufbau der Skript-Datei

Das Skript ist eine Textdatei mit der Dateierweiterung 'tsn' wie z.B. 'Datensicherung.tsn'. Die Skriptdatei besteht aus einer oder mehreren Sektionen, deren Bezeichnung in eckige Klammern eingefasst ist. Jeder Auftrag bildet eine Sektion, die durch eine fortlaufende Nummer mit 1 beginnend gekennzeichnet ist, also [1] für den ersten, [2] für den zweiten Auftrag usw.

Bestimmte Parameter, die für alle Aufträge der Skriptdatei gelten sollen, können in einer gesonderten Sektion [Global] angegeben werden.

Hier zunächst ein einfaches Beispiel:

[1]

Kommando=SichernMandant

Mandant=12068

Benutzer=Schlaumeier

Kennwort=Einstein

[2]

Kommando=BetriebeImportierenBalvi

Mandant=12068

Benutzer=Schlaumeier

Kennwort=Einstein

Wird diese Skriptdatei ausgeführt, wird der Mandant mit dem Benutzer "Schlaumeier" und dem Kennwort "Einstein" angemeldet, um alle Daten des Mandanten (inklusive aller eventuell vorhandenen Krisen) in das unter den Einstellungen angegebene Verzeichnis für Sicherheitskopien zu sichern. Voraussetzung ist dabei, dass der Benutzer "Schlaumeier" über ausreichende Zugriffsrechte verfügt und tatsächlich ein Verzeichnis für Sicherheitskopien angegeben wurde.

Danach wird die Programmfunktion zum Importieren von Betriebsdaten aus BALVI iP aufgerufen. Dabei werden alle Einstellungen verwendet, die unter verweisEinstellungen - Import BALVI iP für den Mandanten angegeben wurden.

Das folgende Beispiel enthält eine Sektion [GLOBAL], in der Parameter angegeben sind, die für alle Aufgaben gelten:

[GLOBAL]

Benutzer=Schlaumeier

Kennwort=Einstein

Logdatei=\\Server1\Tsn\Backup\Logdatei.txt

[1]

Kommando=SichernMandant

Mandant=12068

Zieldatei=\\Server1\Tsn\Backup\Sicherung12068.zip

[2]

Kommando=BetriebeImportierenBalvi

Mandant=12068

In diesem Beispiel werden die Aufgaben [1] und [2] ausgeführt und Erfolg und Misserfolg der Aktionen in einer Log-Datei protokolliert. Benutzer und Kennwort sind für beide Aufgaben in der Sektion [GLOBAL] angegeben.

Erweiterte Möglichkeiten

Das folgende Beispiel zeigt fortgeschrittenere Techniken, die insbesondere dann zur Anwendung kommen könnten, wenn eine TSN-Installation über eine Vielzahl von Mandanten verfügt.

[GLOBAL]

Systemkennwort=Mega-Geheim

Logdatei=\\Server1\Tsn\Backup\Logdatei.txt

[1]

Kommando=SichernMandant

Mandant=*

Zieldatei="<v>Mandant<m> am <d> um <u>.zip"

[2]

Kommando=BetriebeImportierenBalvi

Mandant=12068,12069,12070

In diesem Beispiel wird die Aufgabe [1] für alle Mandanten (Mandant=*) und die Aufgabe [2] für die Mandanten 12068, 12069 und 12070 ausgeführt.

Durch Angabe des Systemkennwortes wird für die Ausführung der Aufgaben das Konto des Systemadministrators von TSN verwendet, der Zugriff auf alle Mandanten hat.

Beim Sichern des Mandanten wird eine Zieldatei verwendet, die mit Ersetzungszeichen arbeitet. Dabei wird für jeden Mandanten ein unterschiedlicher Dateiname generiert, indem das Verzeichnis für Sicherheitskopien (<v>), die Nummer des Mandanten (<m>), das Datum (<d>) und die Uhrzeit <u> zur Laufzeit durch die jeweiligen Werte substituiert werden.

Ersetzungszeichen

Im Skript werden Dateinamen für Zieldatei=..., Quelldatei=... und Logdatei=... auf das Vorhandensein der folgenden Kürzel überprüft und ggf. durch folgende Ersetzungen substituiert:

 

Kürzel

Ersetzung

Beispiel

<v>

Verzeichnis für Sicherheitskopien

\\Server1\Tsn\Backup\

<m>

Nummer des Mandanten

12068

<d>

Datum

03.12.2009

<id>

ISO-Datum

20091203

<u>

Uhrzeit

18'30'30 (Die Notation 18:30:30 ist in Dateinamen nicht erlaubt)

<k>

Nummer der Krise

09-984-00151

Beispiel :

<v>Mandant<m> am <d> um <u>.zip → \\Server1\Tsn\Backup\Mandant12068 am 03.12.2009 um 18'19'07.zip

 

Die Sektion "Global"

Echo=

Bildschirmausgaben

Standardmäßig ist Echo=0, was bewirkt, dass keinerlei Bildschirmausgaben erfolgen.

Wird Echo=1 gesetzt erfolgen Bildschirmausgaben, die den Fortschritt der einzelnen Aktionen anzeigen. Dieser Modus ist nur für Testzwecke im Dialogbetrieb vorgesehen!

Systemkennwort=

Kennwort des Systemadministrators

Wird das Kennwort des Systemadministrators angegeben, erfolgt die Ausführung aller Aufgaben als Systemadministrator von TSN, der Vollzugriff auf alle Funktionen des TSN hat.

Benutzer=

Benutzer für alle Aufgaben

Wird hier ein Benutzer angegeben, wird er für alle Aufgaben verwendet, für die kein Benutzer explizit bei der jeweiligen Aufgabe angegeben ist.

Kennwort=

Kennwort für den angegebenen Benutzer

Logdatei=

Logdatei zur Protokollierung der Ausführung der Aufgaben

Start=

Aufgabe, mit der die Abarbeitung begonnen wird.

Standardmäßig wird Start=1 verarbeitet.

Ende=

Aufgabe, bis zu der die Abarbeitung ausgeführt wird.

Standardmäßig ist Ende=0 voreingestellt, was die Abarbeitung solange ausführt, bis eine folgende laufende Nummer nicht gefunden wird. Wird der Wert für Ende gesetzt, werden

Nehmen wir an, ein Skript enthält die Sektionen [1], [2], [3] und [10]

Ist Ende=0 aktiviert, werden die Aufgaben [1], [2] und [3] ausgeführt und danach das Skript beendet, weil die logisch folgende Nummer [4] nicht gefunden wurde.

Ist Ende=[10] aktiviert, werden alle Aufgaben [1], [2], [3] und [10] ausgeführt. So könnte man auch einzelne Aufgaben aus einer Kette von Aufgaben temporär deaktivieren, indem man die betreffende Sektion umbenennt (z.B. [2] in [_2] ändert.

Kommando "SichernMandant"

Das Kommando sichert die Daten eines oder mehrerer Mandanten. Neben allgemeinen Daten des Mandanten wie den Benutzern, Betrieben usw. werden auch alle Krisen des Mandanten gesichert. Die Angabe von Mandat(en) ist obligatorisch!

 

Kommando=

Kommando=SichernMandant

Mandant=

Mandant(en) für die Aufgabe

Mandant=12068

Mandant=12068,12069...

Mandant=*

Benutzer=

Benutzer für die Aufgabe

Kennwort=

Kennwort für den angegebenen Benutzer

Zieldatei=

Hier kann eine Zieldatei (ggf. unter Einbeziehung von Ersetzungszeichen) angegeben werden.

Wird keine Zieldatei angegeben, wird automatisch folgende Zieldatei verwendet:

<v>Mandant<m> am <d> um <u>.zip

Achtung: Ist bei den verweisEinstellungen des Mandanten bzw. bei den verweisGlobale Einstellungen kein Verzeichnis für Sicherheitskopien angegeben, kann die automatische Generierung eines Namen für die Zieldatei nicht erfolgen!

Logdatei=

(Individuelle) Logdatei zur Protokollierung der Ausführung der Aufgabe

Kommando "SichernKrise"

Das Kommando sichert eine oder mehrere Krisen. Währen der Abarbeitung einer Krise kann es sinnvoll sein, einen Dienst zu aktivieren, der die Krise in der Geschäftszeit stündlich sichert!

 

Kommando=

Kommando=SichernKrise

Mandant=

Mandant(en) für die Aufgabe

Krise=

Krisen(en) für die Aufgabe

Krise=09-984-00151

Krise=09-984-00151,09-984-00210...

Krise=*

Benutzer=

Benutzer für die Aufgabe

Kennwort=

Kennwort für den angegebenen Benutzer

Zieldatei=

Hier kann eine Zieldatei (ggf. unter Einbeziehung von Ersetzungszeichen) angegeben werden.

Wird keine Zieldatei angegeben, wird automatisch folgende Zieldatei verwendet:

<v>Krise<k> am <d> um <u>.zip

Achtung: Ist bei den verweisEinstellungen des Mandanten bzw. bei den verweisGlobale Einstellungen kein Verzeichnis für Sicherheitskopien angegeben, kann die automatische Generierung eines Namen für die Zieldatei nicht erfolgen!

Logdatei=

Logdatei zur Protokollierung der Ausführung der Aufgabe

Kommando "SichernSystem"

Das Kommando sichert alle Datenbanken der TSN-Installation. Die Angabe des Kennwortes des Systemadministrators von TSN (Systemkennwort=...) in der Sektion [GLOBAL] ist hierfür obligatorisch!

 

Kommando=

Kommando=SichernSystem

Zieldatei=

Hier kann eine Zieldatei (ggf. unter Einbeziehung von Ersetzungszeichen) angegeben werden.

Wird keine Zieldatei angegeben, wird automatisch folgende Zieldatei verwendet:

<v>TSN_Sicherung_<id>.zip

Achtung: Ist bei den verweisGlobale Einstellungen kein Verzeichnis für Sicherheitskopien angegeben, kann die automatische Generierung eines Namen für die Zieldatei nicht erfolgen!

Unter dem angegebenen Namen für die Zieldatei wird die Systemdatenbank als Zip-Archiv gesichert. Für jeden Mandanten wird ein zusätzliches Zip-Archiv mit gleichem Dateinamen, jeweils mit der fünfstellige Amtnummer des Mandanten erweitert, angelegt.

Beispiel:

Eine Installation umfasst die Mandanten 12068, 1209, 12070. Wird der Dateiname der Sicherung mit TSN_Sicherung_20090318.zip angegeben, dann entstehen folgende Dateien:

TSN_Sicherung_20090318.zip

TSN_Sicherung_20090318_12068.zip

TSN_Sicherung_20090318_12069.zip

TSN_Sicherung_20090318_12070.zip.

Logdatei=

(Individuelle) Logdatei zur Protokollierung der Ausführung der Aufgabe

Kommando "BetriebeImportierenBalvi"

Das Kommando importiert die Betriebe eines oder mehrerer Mandanten aus verweisSchnittstellendateien, die in BALVI iP erstellt worden sind. Dabei werden die Einstellungen  verwendet, die unter verweisImport BALVI iP bei den Einstellungen des Mandanten angegeben worden sind. Während die Quelldatei (Schnittstellendatei) optional über die Skriptdatei gesteuert werden kann, sind andere Angaben wie

Georeferenzierung erfolgt mit TSN oder BALVI iP,

Übernahme aufgegebener Betriebsstätten,

Import nur bei passendem Zuständigkeitsbereich,

Umrechnung von Koordinaten beim Datenaustausch zwischen TSN und BALVI iP

in den Einstellungen des Mandanten mit den gewünschten Werten zu hinterlegen.

 

Kommando=

Kommando=BetriebeImportierenBalvi

Mandant=

Mandant(en) für die Aufgabe

Mandant=12068

Mandant=12068,12069...

Mandant=*

Benutzer=

Benutzer für die Aufgabe

Kennwort=

Kennwort für den angegebenen Benutzer

Quelldatei=

Hier kann eine Quelldatei (ggf. unter Einbeziehung von Ersetzungszeichen) angegeben werden, aus der die Betriebe importiert werden sollen. Wird keine Quelldatei angegeben (also "Quelldatei=" weg oder leer gelassen), wird die Schnittstellendatei verwendet, die unter verweisImport BALVI iP bei den Einstellungen des Mandanten  angegeben wurde!

Hinweise zur Verwendung der Option "Quelldatei=" bei Installationen mit mehreren Mandanten (Landes-Server):

Wenn die Betriebe aus BALVI iP für mehrere oder alle Mandanten (Mandant=*) innerhalb eines Auftrages unter Verwendung der Option "Quelldatei=..." eingelesen werden sollen , gibt es zwei Möglichkeiten:

Entweder werden alle Mandanten (Kreise bzw. Zuständigkeitsbereiche) aus BALVI in eine einzige Schnittstellendatei exportiert. Bei den Einstellungen jedes Mandanten ist unter verweisImport BALVI iP das Kontrollkästchen "Betriebe nur bei passendem Zuständigkeitsbereich importieren" zu aktivieren.

Die zweite Möglichkeit besteht darin, für jeden Mandanten eine eigene Schnittstellendatei zu erzeugen, die die Nummer des Mandanten enthält. In der Skriptdatei kann man eine variable Quelldatei angeben, die die entsprechende Nummer des Mandanten enthält, indem man mit dem Ersetzungszeichen <m> arbeitet.

Ein Eintrag Quelldatei=\\Server1\Tsn\Balvi\Balvi_Tsn<m>.dbf würde für jeden Mandanten innerhalb des Auftrags auf eine separate Quelldatei zugreifen.

Logdatei=

Logdatei zur Protokollierung der Ausführung der Aufgabe

DOS-Kommando "schtasks"

Um Aufträge zu bestimmten Zeiten ohne weitere Benutzerinteraktion zu starten, gibt es unter Windows einen "Scheduler", der für die Nutzung von TSN im Batch-Modus für Sie interessant sein könnte. Das Programm ermöglicht es einem Administrator, geplante Aufgaben auf einem lokalen oder Remotecomputer zu erstellen, abzufragen, zu löschen, zu ändern, auszuführen und zu beenden.

Am besten startet man zunächst mit dem Befehl "cmd" den DOS-Kommandointerpreter. Am Eingabeprompt kann der Befehl "schtasks" eingegeben werden, der ohne weitere Parameter lediglich alle eingetragenen Aufträge und Ausführungszeiten auflistet. Mit der Eingabe "schtasks /?" kann man sich die wichtigsten Aufrufparameter anzeigen lassen.

 

schtasks

zeigt geplante Aufgaben an

schtasks /?

zeigt die Hilfe an

schtasks /create

erstellt eine neue geplante Aufgaben

schtasks /delete

löscht geplante Aufgaben

schtasks /query

zeigt alle geplanten Aufgaben an

schtasks /change

ändert die Eigenschaften einer geplanten Aufgabe

schtasks /run

führt eine geplante Aufgabe sofort aus

schtasks /end

beendet die aktive geplante Aufgabe

Hier sind die Kommandos /create, /query und /delete die Befehle, mit denen wir uns ein wenig näher beschäftigen wollen.

Aufgabe erstellen /Create

Die Eingabe "schtasks /create /?" zeigt alle Optionen an, die zum Erstellen von Aufgaben zur Verfügung stehen und dies sind einige! Hier ein Auszug aus der Parameterliste:

 

/TN

Aufgabenname: gibt den Namen an, der die Aufgabe eindeutig identifiziert (task name)

z.B. /TN TSN

/TR

auszuführende Aufgabe

An dieser Stelle ist das aufzurufende Programm mit eventuell benötigten Parametern anzugeben.

 

Bei der Ausführung von TSN mit Übergabe der Skriptdatei als Parameter wird empfohlen, die gesamte Aufgabe in doppelte Anführungszeichen " und die einzelnen Bestandteile (TSN und Skriptdatei) jeweils in Escape-Zeichen gesetzte doppeltes Anführungszeichen \" einzuschließen!

z.B. /TR "\"C:\Programme\Tsn3\Bin\Tsn.exe\" \"C:\Programme\Tsn3\Batch\Sichern.tsn\""

Bei neueren Betriebssystemen kann die Notation ggf. auch mit einem einfachen Anführungszeichen für die inneren Anführungszeichen erfolgen (unter Windows 2003 Server klappt es jedoch nicht!!!).

z.B. /TR "'C:\Programme\Tsn3\Bin\Tsn.exe' 'C:\Programme\Tsn3\Batch\Sichern.tsn'"

Nur für den Fall, dass die Pfadangaben und Dateinamen keinerlei Leerzeichen enthalten, sollte auch folgender Aufruf funktionieren.

z.B. /TR "C:\Programme\Tsn3\Bin\Tsn.exe C:\Programme\Tsn3\Batch\Sichern.tsn"

/SC

Zeitplan: Legt fest, wie oft die Aufgabe ausgeführt werden soll

(Zeitplantypen.: Minute, Stündlich, Täglich, Wöchentlich, Monatlich, Einmal usw.)

 

Der Parameter /MO legt dabei bei Bedarf die Ausführungsanzahl genauer fest

z.B. /SC Minute /MO 15 (Aufgabe alle 15 Minuten ausführen)

z.B. /SC Stündlich /MO 2 (Aufgabe alle 2 Stunden ausführen)

/D

Tage: bestimmt die Tage, an denen die Aufgabe ausgeführt werden soll

(MO, DI, MI, DO, FR, SA, SO)

z.B. /SC Wöchentlich /D MI /ST 23:00 (Aufgabe wöchentlich am Mittwoch um 23:00 Uhr ausführen)

/ST

Startzeit (HH:mm z.B. 06:00)

z.B. /SC Täglich /ST 06:00

/ET

Endzeit

z.B. /SC STÜNDLICH /ST 06:00 /ET 19:00 (Aufgabe stündlich in der Zeit von 6 bis 19 Uhr ausführen)

/SD

Startdatum (TT.MM.JJJJ)

/ED

Enddatum

Hier einige komplette Beispiele:

Tägliche Sicherung um 23:00 Uhr:

schtasks /create /tn TSN /sc Täglich /st 23:00 /tr "C:\Programme\Tsn3\Bin\Tsn.exe C:\Programme\Tsn3\Batch\Sichern.tsn"

Wöchentliche Sicherung am Mittwoch um 23 Uhr:

schtasks /create /tn TSN /sc Wöchentlich /d Mi  /st 23:00 /tr "C:\Programme\Tsn3\Bin\Tsn.exe C:\Programme\Tsn3\Batch\Sichern.tsn"

Aufgabe abfragen /Query

Die Eingabe "schtasks /query /?" zeigt alle Optionen an, die zum Abfragen von Aufgaben zur Verfügung stehen! Hier ein Auszug aus der Parameterliste:

 

/TN

Aufgabenname: gibt den Namen an, der die Aufgabe eindeutig identifiziert (task name)

z.B. /TN TSN

/FO

Format der Ausgabe

(TABLE, LIST, CSV)

/V

zeigt ausführliche Informationen zur Aufgabe an

/XML

Ausgabe im XML-Format

Alle Aufgaben anzeigen:

schtasks /query

Aufgabe TSN anzeigen:

schtasks /query /tn TSN

Aufgabe TSN als detaillierte Liste anzeigen:

schtasks /query /fo List /v /tn TSN

Aufgabe löschen /Delete

Die Eingabe "schtasks /delete /?" zeigt alle Optionen an, die zum Löschen von Aufgaben zur Verfügung stehen!

Das folgende Beispiel löscht die Aufgabe TSN:

schtasks /delete /tn TSN