Rollback durchführen

Die Seite „Rollback“ ist für alle ausführbaren Objekte verfügbar, die Bestandteil eines Workflows sein können. Sie ermöglicht die Definition von Aktionen für die Sicherung (Backup) und Wiederherstellung (Rollback) eines bestimmten Zustandes. Dadurch können fehlerhafte Aufgabenänderungen rückgängig gemacht werden. Rollbacks sind nur für Workflows möglich.

Benutzerdefiniertes vs. Dateibasiertes Backup und Rollback

Backups und Rollbacks sind sowohl in benutzerdefinierter als auch in dateibasierter Form verfügbar.

Sind beide Arten definiert, wird das benutzerdefinierte Backup vor dem dateibasierten Backup durchgeführt.

Das Rollback kann auch mittels ScriptEigener Objekttyp in der Automation Engine-Funktion ROLLBACK_UC_OBJECT gestartet werden.

Sie finden die folgenden Informationen in diesem Thema:

Ein Rollback definieren

Diese Anweisungen setzen voraus, dass beide Prozesse (Backup und Rollback) definiert wurden.

  1. Starten Sie das Backup.

    Backup-Aktionen werden nach Aktivierung, aber vor Durchführung des Objektes abgearbeitet. Dabei spielt es keine Rolle, wie das Objekt aktiviert wurde. Die Durchführung der AufgabeEin gestartetes Objekt, welches gerade durchgeführt wird. Aufgaben werden auch als Aktivitäten bzw. Tasks bezeichnet. beginnt erst, wenn die Backup-Aktionen erfolgreich abgeschlossen wurden.

    Benutzerdefiniertes Backup

    Beim benutzerdefinierten Backup wird das angegebene Backup-Objekt gestartet. Während der Durchführung besitzt es den StatusZustand einer Aufgabe (z.B. aktiv, blockiert, in Generierung, usw.). Benutzerdefiniertes Backup. Tritt dabei ein Fehler auf, so bricht die Aufgabe mit FAULT_CUSTOM_BACKUP ab. In diesem Fall kann das Rollback-Objekt nicht gestartet werden.

    Dateibasiertes Backup

    Das dateibasierte Backup kopiert das Verzeichnis bzw. die angegebenen Dateien in folgendes Verzeichnis:
    <Backup-Ordner>/<MandantAbgeschlossene Umgebung für die Erstellung und Durchführung von Objekten innerhalb eines Automation Engine-Systems. Der Name von Mandanten besteht aus einer vierstelligen Zahl, die bei der Anmeldung von Benutzern an das Automation Engine-System anzugeben ist. Benutzer und deren Berechtigungen werden ebenfalls in einem Mandant definiert.Auch ein eigener Objekttyp in der Automation Engine.>/<Datum>/<RunID"Kurzform für ""laufende Nummer"". Hierbei handelt es sich genauer um eine Zahl, welche die Durchführung einer Aufgabe eindeutig kennzeichnet. Die RunID kann zwischen 7 und 10 Stellen aufweisen. Sie wird von der Komponente Automation Engine vergeben.">/

    Der Backup-Ordner kann im Abschnitt [VARIABLES] der INI-Dateien der Agenten über die Agentenvariable UC_EX_PATH_BACKUP definiert werden. Standardmäßig wird „..\BACKUP“ (Windows) bzw. „../backup“ (Unix) als Backup-Ordner verwendet.

    Während der Durchführung eines dateibasierten Backup-Objektes besitzt die Aufgabe den Status Dateibasiertes Backup. Tritt dabei ein Fehler auf, so bricht die Aufgabe mit FAULT_FILE_ROLLBACK ab. In diesem Fall kann das Rollback-Objekt nicht gestartet werden.

     

  2. Das Rollback starten.

    Ein Rollback kann nur gestartet werden, wenn die Option Rollback ermöglichen auf der Seite Rollback des jeweiligen Objektes aktiviert ist. Ansonsten ist diese Funktion nicht verfügbar. Im Gegensatz zum Backup kann das Rollback nur für abgeschlossene Workflow"Ermöglicht das Hinzufügen, Anordnen, Verknüpfen, Definition von Eigenschaften und Entfernen von Aufgaben eines Workflows. Ein eigener Objekttyp in der Automation Engine. [Früher ""AblaufPlan"" und ""JobPlan"" gennant.]"-Aufgaben gestartet werden. Das können Sie wie folgt durchführen:

    Berücksichtigung des Status von Aufgaben/Rollbacks

    Der Status von Aufgaben, die beim Rollback starten, ist Aktiv und kann im Workflow-Monitor (siehe Workflow-Monitor - Übersicht) eindeutig identifiziert werden. Nach Abschluss des Rollbacks gilt auch die Aufgabe als beendet.

    Aufgaben ohne Rollback-Definition enden mit dem Status ENDED_ROLLBACK_EMPTY.

    Das Rollback-Objekt kann nur dann gestartet werden, wenn die Aufgabe nicht mit dem Status FAULT_CUSTOM_BACKUP oder FAULT_FILE_BACKUP abgebrochen ist. Beheben Sie in diesem Fall den Fehler und führen Sie einen WiederanlaufWiederholung einer bereits gelaufenen Objekt-Durchführung, wobei einige Besonderheiten gegenüber einem erneuten Start gelten. der Aufgabe durch.

    Dateibasiertes Rollback

    Beim dateibasierten Rollback werden die Dateien, die im Backup-Ordner für diese Aufgabe abgelegt wurden (<Backup-Ordner>/<Mandant>/<Datum>/<RunID>), in das Verzeichnis zurückkopiert, welches auf der Seite Rollback angegeben ist. Ist die Option Vor dem Wiederherstellen löschen gesetzt (auch auf der Seite Rollback), so wird der Inhalt des Zielverzeichnisses davor gelöscht, um Fehler beim Kopieren zu vermeiden. Das verhindert Kopierfehler. Abhängig von der Option Unterverzeichnisse einbeziehen werden dabei auch Unterordner gelöscht.

    Durch diese Prozedur wird das Verzeichnis so wiederhergestellt, wie vor der Durchführung der Aufgabe.

    Während des dateibasierten Rollbacks besitzt die Aufgabe den Status Dateibasiertes Rollback. Kommt es dabei zu einem Fehler, bricht die Aufgabe mit FAULT_CUSTOM_ROLLBACK ab.

    Hinweise für Windows-Benutzer

    Um das dateibasierte Rollback unter Windows zu verwenden, muss die Windows Powershell als Standard-Interpreter aufgeführt sein und die Parameter ECPEXE= und EXPEXT= in der betreffenden INI-Datei des Windows-Agenten (Abschnitt [GLOBAL]) nutzen. Diese Parameter sind standardmäßig gesetzt.

    Zum Beispiel:

    ECPEXE=C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -file

    ECPEXT=ps1

    Das Backup/Rollback wird mit den Objekten FILE.BACKUP.WINDOWS und FILE.ROLLBACK.WINDOWS durchgeführt, die standardmäßig im Mandant 0 mitgeliefert werden.

    Zusätzlich ist darauf zu achten, dass das Ausführen unsignierter Scripts unter Powershell erlaubt ist. Dazu muss die Policy ggf. von restricted auf z. B. remotesigned geändert werden.

    Zur Änderung der Powershell Script-Berechtigung öffnen Sie auf dem betreffenden Windows-Rechner ein Powershell-Fenster und geben das folgende Kommando ein:

    Benutzerdefiniertes Rollback

    Beim benutzerdefinierten Rollback wird das Rollback-Objekt gestartet, welches die Wiederherstellung eines ursprünglichen, funktionierenden Zustands übernehmen soll. Die Aktionen des Backup-Objektes hängen von der Aufgabe bzw. dem Backup-Objekt ab und sind vom BenutzerIn einem Automation Engine-System bezieht sich ein Benutzer auf eine Instanz eines Benutzer-Objektes, aber ganz allgemein ist ein Benutzer auch die Person, die mit Automic-Produkten arbeitet. Jedes Benutzer-Objekt hat eine Benutzerkennung und bestimmte Zugriffsrechte auf unterschiedliche Bereiche eines Automation Engine-Systems und der zugehörigen Produktpalette. In der Automation Engine werden die Zugriffsrechte über Rechte und Privilegien, in Decision über Benutzerrollen und EventBase-Rechte und in der ARA-Webanwendung über Objektberechtigungen geregelt. Zentral können diese Zugriffsrechte in den Funktionen der AWI-Benutzerverwaltung geregelt werden. Weitere Informationen sind im Kapitel Unified User Management vorhanden. zu definieren.

    Während der Durchführung des Rollback-Objektes besitzt die Aufgabe den Status Benutzerdefiniertes Rollback. Tritt dabei ein Fehler auf, so bricht die Aufgabe mit FAULT_CUSTOM_BACKUP ab.

Rollback von Workflows

Eigenschaften der Workflow-Aufgaben, wie beispielsweise der späteste Startzeitpunkt, werden im Rollback-Fall ignoriert. Das logische Datum wird beibehalten.

Die Abarbeitung erfolgt in umgekehrter Reihenfolge: Das Rollback beginnt beim Workflow-Ende und wird beim Start abgeschlossen. Für alle untergeordneten Workflows gilt dasselbe Verhalten. Zum Abschluss werden die Rollback-Aktionen des Workflows selbst gestartet.

Handelt es sich bei der Aufgabe um einen Workflow, so wird das Rollback auch für alle untergeordneten Aufgaben durchgeführt; dabei gibt es keine Beschränkung für die Verschachtelungstiefe. Wird das Rollback für einen Sub-WorkflowWorkflow, der Teil eines Workflows ist. gestartet, so wechseln dessen untergeordnete Aufgaben in den Status Wartet auf Rollback. Inkludiert dieser Sub-Workflow aktive untergeordnete Aufgaben, wird zuerst auf dessen Ende gewartet, bevor ihr Status geändert wird.

Falls eine Aufgabe deaktiviert wurde (d. h. sie befindet sich nicht mehr im Fenster „Aktivitäten“), bleibt die Rollback-Durchführung an dieser Stelle stehen. Führen Sie in diesem Fall einen Wiederanlauf der Aufgabe durch oder überspringen Sie diese, um das Rollback fortzusetzen.

Schlägt das Rollback einer Aufgabe fehl (FAULT_CUSTOM_ROLLBACK / FAULT_FILE_ROLLBACK), so wird die Rollback-Durchführung am betreffenden Workflow-Zweig angehalten. Sie können den Fehler beheben und anschließend das Rollback für die Aufgabe erneut starten.

Sonderfälle: Rollback von FOREACH- und IF-Worfklows

Beim Rollback von FOREACH-Workflows werden die Aufgaben rückwärts abgearbeitet. Danach werden die Rollback-Aktionen des Workflows durchgeführt.

Bei IF-Workflows wird das Rollback für jenen Aufgabenzweig vorgenommen, welcher bei der letzten Durchführung selektiert wurde. Danach werden die Rollback-Aktionen des Workflows durchgeführt.

Spezielle Rollback-Kommandos

Öffnen Sie den Workflow-Monitor in der Perspektive Process Monitoring und klicken Sie mit der rechten Maustaste darauf, um das Kontextmenü mit den für den Workflow verfügbaren Rollback-spezifischen Kommandos zu öffnen:

Kommando

Beschreibung

Rollback bis zu dieser Aufgabe

Der Rollback-Pfad wird zuerst ermittelt. Dabei handelt es sich um alle direkten und indirekten Nachfolger der Aufgabe innerhalb des Workflows. Vorgänger und parallele Aufgabe sind nicht betroffen.

Anschließend erhalten die Aufgaben auf dem Rollback-Pfad den Status „Wartet auf Rollback“. Bei aktiven Aufgaben wird zuerst auf dessen Ende gewartet, bevor der Status geändert wird. Danach wird das Rollback für die betroffenen Aufgaben in umgekehrter Reihenfolge, wie diese im Workflow angeordnet sind, durchgeführt. Begonnen wird das Rollback daher beim letzten Nachfolger und abgeschlossen bei der gewählten Aufgabe.

Kommt es beim Rollback zu einem Fehler, bleibt die Durchführung am Rollback-Pfad bei der jeweiligen Aufgabe stehen. Beheben Sie den Fehler und starten Sie das Rollback der betreffenden Aufgabe erneut.

Befinden sich Workflows auf dem Rollback-Pfad, so werden diese inklusive aller untergeordneten Aufgaben zurückgerollt.

Die Rollback-Aktionen des Workflows selbst (wenn vorhanden) werden durch Rollback bis zu dieser Aufgabe nicht durchgeführt.

Fortsetzen

Nur in aktiven Workflows verfügbar. Nur sinnvoll, wenn der Workflow mindestens eine Aufgabe im Status ENDED_ROLLBACKED enthält.

Wählen Sie dieses Kommando, um die jeweiligen Aufgaben zu starten.

  • deren Rollback erfolgreich abgeschlossen wurde (Status: ENDED_ROLLBACKED),
  • deren Rollback auf Grund fehlender Definition nicht durchgeführt werden konnte (Status: ENDED_ROLLBACK_EMPTY),
  • oder die auf das Rollback warten (Status: Wartet auf Rollback).

Für PromptSet-Variablen werden dabei die Werte der letzten Durchführung verwendet, für Objektvariablen"Platzhalter für Werte, die einem Objekt in dessen Registerkarte ""Variablen & Prompts"" hinterlegt werden." die Werte der Objektdefinition.

Bei „Fortsetzen“ spielen die Aufgaben-Eigenschaften (wie spätester Startzeitpunkt) eine Rolle. Das logische Datum wird beibehalten.

Siehe auch: