FileTransfers durchführen
Dieses Thema enthält detaillierte Informationen darüber, was passiert, wenn FileTransfers ausgeführt werden.
Diese Seite beinhaltet Folgendes:
Übersicht
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 jeden FileTransfer wird eine eigene Verbindung zwischen den Agenten aufgebaut. Agenten für die Betriebssysteme OS/400, Windows, Unix, z/OS und NSK wickeln FileTransfers über eigene Threads ab. Nach erfolgreichem FileTransfer wird die entsprechende Verbindung automatisch beendet. Wenn es noch offene und nicht verwendete Verbindungen gibt, werden sie nach dem Zeitraum geschlossen, der im Schlüssel FT_CONNECTION_TIMEOUT (Variable UC_HOSTCHAR_DEFAULT definiert ist, siehe UC_HOSTCHAR_DEFAULT - Host-Charakteristika).
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 FileTransfers aufgebaut. Bevor ein FileTransfer 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 des FileTransfers 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 FileTransfers 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 FileTransfers 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.
Dateien übertragen
Jeder FileTransfer 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 einem String mit 7 alphanumerischen Zeichen, z. B. TAAFLEFM. Der String wird von der RunID des FileTransfers abgeleitet, die sicherstellt, dass der Dateiname eindeutig ist. Die RunID wird mit der Script-Funktion RUNNR2ALPHA in diesen String konvertiert.
Im FT-Protokoll werden zusätzlich an diesen String noch ein Trennzeichen und eine Datei-ID angehängt. Dies ermöglicht eine Unterscheidung, da alle Dateien über die RunID des FileTransfers abgewickelt werden.
Nach erfolgreicher Ausführung des FileTransfers 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 FileTransfers verwendete Methode ist in der INI-Datei des Ziel-Agenten (
Parameter ft_temp_file=
) definiert. - Eine temporäre Datei wird nicht erstellt, wenn der FileTransfer 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 den FileTransfer bei einem Neustart nicht neu starten. Weitere Informationen finden Sie unter FileTransfers neu starten.
Temporäre Dateien in der Dateistruktur des Quellagenten
Jeder FileTransfer eines Quellagenten erzeugt zwei temporäre Dateien:
- eine Statusspeicherdatei mit der Erweiterung .sts
- und einen FileTransfer-Report 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 den FileTransfer, falls der Agent neu gestartet wird oder eine Übertragung fehlschlägt. War der FileTransfer erfolgreich, werden die Dateien automatisch gelöscht. Kann der FileTransfer keinen Neustart durchführen, verbleiben die Dateien im Dateisystem. Wie viele Tage die Statusdateien dort verbleiben, wird durch den Wert des Schlüssels FT_RESTARTINFO_LIFETIME in der Variablen UC_HOSTCHAR_DEFAULT definiert.
Weitere Informationen finden Sie unter Liste der Agentenvariablen und UC_HOSTCHAR_DEFAULT - Host-Charakteristika.
Agentengruppen in FileTransfers
Bei einem FileTransfer 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:
- FileTransfers von einem einzelnen Agenten zu mehreren Zielagenten (Agentengruppe).
-
FileTransfers von mehreren Agenten (Agentengruppe) zu einem einzelnen Zielagenten.
Wichtig! Die Dateien können nicht den gleichen Namen haben. Der FileTransfer ü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>.
Beim FileTransfer wird sie durch den Namen des Agenten ersetzt, von dem die Datei stammt.
Zum Beispiel:
C:\temp\&<FT_SRC_HOST>_test*.txt
Endstatus
Eine bestimmte Datei übertragen
Der FileTransfer hat den Status ENDED_NOT_OK, wenn die jeweilige Datei nicht vorhanden ist.
Dateien mithilfe von Wildcards übertragen
Der FileTransfer hat den Status ENDED_EMPTY, wenn keine Datei vorhanden ist, die dem Filter entspricht. Kann mindestens eine Datei gefunden werden, hat der FileTransfer den Status ENDED_OK.
UNIX
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 Passwort überprüft, das in dem dem FileTransfer zugeordneten Login-Objekt angegeben ist. Wenn login_check=no festgelegt ist, wird nur der Benutzername überprüft.
VMS
In VMS benötigt jede Text-Datei am Ende ein Trennzeichen. Der Parameter FileEndDelimiter= im -INI-Dateiparameter FileEndDelimiter= bestimmt, ob der VMS-Agent eines anfügen soll. Weitere Informationen finden Sie unter Call API VMS.
Siehe auch: