Dateiübertragungen durchführen
Dieses Thema enthält detaillierte Informationen darüber, was passiert, wenn Dateiübertragungen ausgeführt werden.
Dieses Thema beinhaltet Folgendes:
Zeichensätze konvertieren
Für den Datenaustausch zwischen verschiedenen Systemplattformen ist es notwendig, die Zeichensätze zu konvertieren. Dies erfolgt automatisch mithilfe der Code-Tabellen (CODE). Die Übertragung kann strukturiert erfolgen, sodass auch Dateien mit gepackten und binären Feldern in heterogenen Systemwelten ausgetauscht werden können. Die gesamte Übertragung im Netz erfolgt generell in verschlüsselter Form.
Agenten-Verbindung
Für jede Dateiübertragung wird eine eigene Verbindung zwischen den Agenten aufgebaut. Agenten für die Betriebssysteme OS/400, Windows, Unix, z/OS und NSK wickeln Dateiübertragungen über eigene Threads ab. Nach erfolgreicher Dateiübertragung wird die entsprechende Verbindung automatisch beendet. Falls trotzdem offene unbenutzte Verbindungen existieren, werden diese nach Ablauf der mit dem Key FT_CONNECTION_TIMEOUT (Variable UC_HOSTCHAR_DEFAULT, siehe UC_HOSTCHAR_DEFAULT - Host-Charakteristik) eingestellten Dauer getrennt.
Wenn einer oder beide der beteiligten Agenten die Automation Engine-Version 8.00A oder eine frühere verwenden, wird das alte FileTransfer-Protokoll herangezogen. In diesem Fall wird nur eine Verbindung zwischen den Agenten für alle Dateiübertragungen aufgebaut. Bevor eine Dateiübertragung startet, wird geprüft, ob bereits eine Verbindung zwischen den beiden Agenten besteht. Trifft dies zu, wird sie gleich benutzt, anstatt zuerst unnötige Verbindungsaufbauversuche zu initiieren. Umgekehrt erfolgt nach Ende der Dateiübertragung eine Kontrolle, um eine eventuell noch verwendete Verbindung nicht zu trennen.
Hinweise:
- (Windows und UNIX) Leere Dateien werden ohne Fehlermeldung übertragen.
-
(Windows) Probleme können bei Dateiübertragungen auftreten, wenn der Windows-Agent aus einem UNC-Pfad heraus startet, weil Ihre zugeordneten Dateien (StatusStore) nicht verwendet werden können (der Agent kann beispielsweise abstürzen).
Empfehlung: Starten Sie den Agenten entweder aus einem lokalen Verzeichnis oder durch Angabe eines absoluten lokalen Verzeichnisses in der Agentenvariable UC_EX_PATH_TEMP der INI-Datei des Agenten.
- Für die Optimierung der Dateiübertragungen können Sie bei manchen Agenten Parameter für die Größe des TCP/IP-Zwischenspeichers einstellen. Der Administrator verwendet dazu den Abschnitt [TCP/IP] in der INI-Datei.
Jede Dateiübertragung wird durch den Aufbau einer Verbindung zwischen der Quelle und dem Ziel gestartet. Dabei wird zwischen zwei Methoden unterschieden:
-
Mit einer temporären Datei, die im Zielordner erstellt wird
Die zu übertragende Datei erhält einen Namen im Zielsystem. Dieser Name besteht aus einem T und einer Zeichenfolge von 7 alphanumerischen Zeichen, z. B. TAAFLEFM. Die Zeichenfolge wird von der RunID der Dateiübertragung abgeleitet, die sicherstellt, dass der Dateiname eindeutig ist. Die RunID wird mit der Script-Funktion RUNNR2ALPHA in diese Zeichenfolge konvertiert.
Im FT-Protokoll wird zusätzlich an diese Zeichenfolge noch ein Trennzeichen und eine Datei-ID angehängt. Dies ermöglicht eine Unterscheidung, da alle Dateien über die RunID der Dateiübertragung abgewickelt werden.
Nach erfolgreicher Ausführung der Dateiübertragung erhält die Datei den im FileTransfer-Objekt angegebenen Namen.
Siehe auch ALPHA2RUNNR.
-
Ohne temporäre Datei
Die zu übertragende Datei hat den Namen, der im FileTransfer-Objekt angegeben ist.
Hinweise:
- Die bei Dateiübertragungen verwendete Methode ist in der INI-Datei des Ziel-Agenten (
parameter ft_temp_file=
) definiert. - Eine temporäre Datei wird nicht erstellt, wenn die Dateiübertragung eine bestehende Datei erweitert oder überschreibt, sondern der neue Inhalt direkt in die entsprechenden Dateien eingefügt wird.
Vorteile von temporären Dateien
- Die Handhabung der weiteren Verarbeitungsschritte ist einfacher, da die Dateien erst nach erfolgreicher Übertragung ihren angegebenen Namen erhalten.
- Tritt ein Fehler auf, wird die temporäre Datei im Zielsystem gelöscht. Auf UNIX- und Windows-Rechnern werden Dateien, die nicht vollständig übertragen werden konnten, jedoch nicht entfernt. Daher muss der Agent die Dateiübertragung bei einem Neustart nicht neu starten. Weitere Informationen finden Sie unter Dateiübertragungen neu starten.
Temporäre Dateien in der Dateistruktur des Quellagenten
Jede Dateiübertragung eines Quellagenten erzeugt zwei temporäre Dateien:
- eine Statusspeicherdatei mit der Erweiterung .sts
- und einen Dateiübertragungsbericht mit der Erweiterung .ftx.
Der Speicherort dieser Dateien wird durch die Variable UC_EX_PATH_JOBREPORT im Abschnitt [VARIABLES] der INI-Konfigurationsdatei des Agenten festgelegt.
Der Agent rekonstruiert mithilfe dieser Dateien die Dateiübertragung, falls der Agent neu gestartet wird oder eine Übertragung fehlschlägt. War die Dateiübertragung erfolgreich, werden die Dateien automatisch gelöscht. Kann die Dateiübertragung keinen Neustart durchführen, verbleiben die Dateien im Dateisystem. Wie viele Tage die Dateien dort verbleiben, wird durch den Wert des Key FT_RESTARTINFO_LIFETIME in der Variable UC_HOSTCHAR_DEFAULT definiert.
Weitere Informationen finden Sie unter Liste der Agentenvariablen und UC_HOSTCHAR_DEFAULT - Host-Charakteristik.
Agentengruppen in Dateiübertragungen
Bei einer Dateiübertragung ist es möglich, eine Agentengruppe entweder als Quelle oder als Ziel auszuwählen. Es ist nicht möglich, in beiden Fällen eine Agentengruppe auszuwählen. Daraus ergeben sich die beiden folgenden Szenarien:
- Dateiübertragungen von einem einzelnen Agenten zu mehreren Zielagenten (Agentengruppe).
-
Dateiübertragungen von mehreren Agenten (Agentengruppe) zu einem einzelnen Zielagenten.
Wichtig! Die Dateien können nicht den gleichen Namen haben. Die Dateiübertragung überschreibt andernfalls entweder die Dateien oder kann die Datei nicht übertragen, wenn diese zu dem Zeitpunkt gerade von einem der parallelen Prozesse verwendet wird.
Um dieses Problem zu vermeiden, fügen Sie daher im Ziel-Dateinamen folgende Variable ein: &<FT_SRC_HOST>.
Bei der Dateiübertragung wird sie durch den Namen des Agenten ersetzt, von dem die Datei stammt.
Zum Beispiel:
C:\temp\&<FT_SRC_HOST>_test*.txt
Eine bestimmte Datei übertragen
Die Dateiübertragung hat den Status ENDED_NOT_OK, wenn die jeweilige Datei nicht vorhanden ist.
Dateien mithilfe von Wildcards übertragen
Die Dateiübertragung hat den Status ENDED_EMPTY, wenn keine Datei vorhanden ist, die dem Filter entspricht. Kann mindestens eine Datei gefunden werden, hat die Dateiübertragung den Status ENDED_OK.
Aus Sicherheitsgründen wird empfohlen, den Parameter login_check=yes in der INI-Datei des UNIX-Agenten auf yes zu setzen. Mit dieser Einstellung wird das im der Dateiübertragung zugeordneten Login-Objekt angegebene Passwort überprüft. Wenn login_check=no festgelegt ist, wird nur der Benutzername überprüft.
In VMS benötigt jede Text-Datei am Ende ein Trennzeichen. Der Parameter FileEndDelimiter= in der INI-Datei legt fest, ob der VMS-Agent ein Trennzeichen hinzufügen soll.
Siehe auch: