<< Klicken um das Inhaltsverzeichnis anzuzeigen >> Verwaltung - Batch-Modus |
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
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 Einstellungen - 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.
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.
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
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. |
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 Einstellungen des Mandanten bzw. bei den Globale 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 |
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 Einstellungen des Mandanten bzw. bei den Globale 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 |
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 Globale 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 |
Das Kommando importiert die Betriebe eines oder mehrerer Mandanten aus Schnittstellendateien, die in BALVI iP erstellt worden sind. Dabei werden die Einstellungen verwendet, die unter Import 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 Import 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 Import 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 |
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.
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"
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
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