Home Page
        Bestellung     Downloads     Support     Kontakt     English
ZOC Terminal ist ein professioneller SSH Client und Terminal-Emulator für Windows und macOS.
PyroBatchFTP Online Hilfe Thema:

Skript-Befehle → Transaction/LocalTransaction/RemoteTransaction

.

Transaction begin|end|rollback
LocalTransaction begin|end|rollback
RemoteTransaction begin|end|rollback

 

PyroBatchFTP bietet eine grundlegende Transaktionssteuerung. Eine Transaktion ist eine Gruppe von Befehlen, die entweder alle zusammen oder überhaupt nicht ausgeführt werden sollen. PyroBatchFTP ist in der Lage, im Falle eines Fehlers die bereits ausgeführten Teilkommandos lokal, am Server oder auf beiden Rechnern rückgängig zu machen.

Die Gruppe von Befelen wird zwischen Transaction begin und Transaction end Befehle geschrieben. Falls am Ende der Skript-Verarbeitung das Ende der Transaktion nicht ausgeführt wird, z.B. weil das Skript wegen eines Fehlers komplett abbricht oder weil der Transaction end Befehl wegen eines OnError Befehls übersprungen wurde, werden alle Dateibefehle seit Transaction begin rückgangig gemacht. Diese Rückgängigmachung kann auch explizit durch Transaction rollback erfolgen.

Der Befehl Transaction leitet eine Transaktion auf dem lokalen Rechner und am Server sein, d.h. Befehle werden ggf. auf beiden Rechnern rückgängig gemacht. Die Befehle LocalTransaction und RemoteLocalTransaction gelten dagegen nur für den entsprechenden Computer.

 

Hinweis: Serverseitige Transaktionen werden nur von PyroServer/Pro unterstützt. Für Verbindungen mit anderen Servern (PyroServer, Eurofile Server von Drittherstellern oder FTP Server mit PyroBatchFTP) funktionieren nur loake Transaktionen.

 

Transaction Unterbefehle:

       
begin
 

Leitet eine Transaktion ein. Transaktionen können nicht verschachtelt werden (die führt zu einem Fehler).

end
 

Schließt eine Transaktion ab. End ohne Begin ist nicht erlaubt.

rollback
 

Macht alle Dateibefehle seit dem letzten begin rückgängig. Rollback impliziert auch end. Rollback außerhalb eines begin/end Abschnitts ist erlaubt, wird aber ignoriert.

 

Siehe auch: OnError, Error.

 

Beispiel 1: Erstellt ein Verzeichnis am Server und verschiebt dorthin drei Dateien. Falls dabei ein Fehler auftritt, bricht das Skript ab und führt hierbei für die noch offene Transaktion ein LocalTransaction rollback durch. Dabei werden die gelöschten (verschobenen) Dateien am PyroBatch Rechner wieder hergestellt. PyroServer/Pro führt beim Verbindungsende ebenfalls ein rollback für die offene Transaktion durch, d.h. bereits emfpangene Dateien und das erstellte Verzeichnis werden gelöscht.
 

Connect ...
Transaction begin
RemoteMkDir "newsales"
RemoteChDir "newsales"
PutMove "Sales.dat"
PutMove "Expenses.dat"
PutMove "Reports.dat"
Transaction end
Disconnect

 

Beispiel 2: Gleiches Beispiel wie oben, jedoch mit Anwahl mehrerer Gegenstellen. Wenn ein Fehler auftritt, wird das Skript mit dem nächsten Server (bei Marke :NextSite) fortgesetzt. Hierbei wird Transaction end) übersprungen (nicht ausgeführt). An der Sprungmarke steht ein LocalTransaction rollback Befehl, der die Operationen rückgängig macht da kein Transaktionsende ausgeführt wurde. Der Server macht seine Befehle ebenso rückgängig, entweder weil er den Transaction rollback Befehl empfängt, oder weil er im Fall eines vorherigen Verbindugsabbruchs hierbei automatisch die offene Transaktion rückabwickelt.

Bei Ausführung ohne Fehler wird Rollback nach dem Ende ignoriert (siehe Beschreibung zu Rollback in der Liste der Teilbefehle).
 

// site 1
Connect ...
OnError SkipTo Nextsite
Transaction begin
RemoteMkDir "newsales"
RemoteChDir "newsales"
PutMove "Sales1.dat"
PutMove "Expenses1.dat"
PutMove "Reports1.dat"
Transaction end
    
:NextSite
Transaction rollback
-Disconnect
    
// site 2
Connect ...
Transaction begin
...
    

 
← Zurück zu Skript-Befehle

 

Downloads
Orders
Contact
Support
Terms of Use
Privacy Policy
pixel