![]() |
Filecopy direkt von Server zu Server
Mein Delphi-Programm liegt auf meinem PC im Homeoffice, der Upload ist sehr bescheiden.
Ich möchte z.B. mit TFile.copy() Dateien von Server1 zu Server2 oder von OrdnerA auf Server1 auf OrdnerB auf Server2 kopieren ohne das die Daten dabei auf den PC gelangen. Server1 und Server2 sind mit Hochgeschwindigkeitsnetz verbunden. Auf allen Maschinen laufen Windows Betriebssysteme. Geht sowas auch mit Windowsbordmittel, also ohne Delphi? |
AW: Filecopy direkt von Server zu Server
naja, du könntest z.B. mit PsExec einen simplen copy-Befehl auf dem Server A ausführen lassen, der dann eine Datei auf den Server B kopiert. Sofern du über die entsprechenden Rechte auf dem Server A verfügst.
Das Copy läuft dann auf dem Server A genauso, als würdest du das in einer Sitzung auf diesem selbst starten. |
AW: Filecopy direkt von Server zu Server
Man könnte BITS verwenden (Backround Intelligent Transfer service
![]() |
AW: Filecopy direkt von Server zu Server
Ich hab das SCP-Protokoll mal genutzt. War (wenn ich mich noch recht entsinne) ein Umzug eines Shopsystems auf einen neuen Server+Domain für einen Kunden. Da das ganze schon einige Jahre her ist, hoffe ich mal das die Stichworte SCP bzw. WinSCP dir da weiterhelfen :)
|
AW: Filecopy direkt von Server zu Server
Danke für die Antworten.
|
AW: Filecopy direkt von Server zu Server
Blos, um das nochmal zusammenzufassen. Praktisch jede Dateioperation die du auf deinem lokalen Rechner ausführst, wird zwangsläufig zwei Mal durch dein langsames Netz geleitet.
Der Kopierbefehl muß also zwangsläufig auf einem der beiden Server ausgeführt werden. (rüberschicken oder runterladen) z.B. via RDP oder 'ner Konsole verbinden und dort "drüben" den Befehl ausführen. Du könntest also auch mit deinem Delphi ein Programm schreiben, was auf einem der Server läuft und das Kopieren übernimmt. Dort z.B. via Indy ein TCP- oder HTTP-Server drin, welcher von deinem lokalen PC aus sonstwie angesprochen werden kann, falls dieses kopieren von lokal aus gestartet werden muß und die das nicht autonom erledigen können. Bei Webservern kann man z.B. sich z.B. in PHP ein kleines Script schreiben, wo das kopieren vorgenommen wird, welches man dann auch von außerhalb starten kann. |
AW: Filecopy direkt von Server zu Server
OK, ich habe verstanden.
Ich beschreibe es dennoch mal etwas anschaulicher: Ich möchte das ein Eimer Wasser von Frankfurt nach Offenbach gebracht wird. Ich selbst bin aber in Fulda. Nun bräuchte ich einen Service, den ich von Fulda aus per TFile.copy(FM.WaEi, OF.WaEi) anstoßen könnte. Ob Jemand den Eimer von Offenbach aus holt oder von Frankfurt aus bringt, ist mir egal. Der Eimer soll aber nicht erst aus Frankfurt nach Fulda und dann von Fulda nach Offenbach. Das dauert zu lange und wahrscheinlich verstoße ich dann auch noch gegen die DSGVO. Unterwegs wird der Eimer auch noch mehrfach auf Viren geprüft. Das kostet doch auch alles Energie! Als Delphi'aner (bin kein Programmierer, sondern Softwareingenieur) erwarte ich von meinem Entwicklungsumgebungsdienstleister Idera/Emba, den ich sehr gut bezahle, dass er mir sowas zur Verfügung stellt. Nein, ich hatte gedacht, dass das Betriebssystem sowas irgendwie hin bekommt. Ich will auch im Windows-Explorer Ctr-C (Frankfurt) und Ctrl-V (Offenbach) machen und das/die Betriebssystem(e) sollen kapieren, dass ich in Fulda sowieso nur Wasser aus der Rhön verwende. Nicht, das mir hier einer einen Wasser aus Frankfurt vorbei bringt. Noch intelligenter wäre es, wenn der Copy-Service vom Betriebssystem feststellen würde, dass es in Offenbach bereits einen Eimer und Wasser gibt und dieses mir ohne das ich es merke bereitstellt. Das hätte den Vorteil, dass nicht soviel Stau am Kaiserlei wäre. So wie bei grsync wäre es bei größeren Eimern sinnvoll, dass der Copy-Service merkt, dass der nur die geänderte Wassermenge in Offenbach anpassen muss. Ab wann eine Eimer groß ist, das muss das Betriebssystem mit dem Datenleitungsprotokoll ausmachen. Ironie nicht ausgeschlossen So ich muss jetzt weiterarbeiten, habe eben 500 Dateien aus einem DBD-Blobfeld (Frankfurt) auf meinem PC exportiert und diese dann in ein Laufwerk (Frankfurt) kopiert. Jetzt wo es fertig ist fällt mir ein, hätte ich die Dateien per DBD-Stored Procedure rausgeleiert, dann wäre alles in Frankfurt geblieben. |
AW: Filecopy direkt von Server zu Server
Wenn du bei dir einen Explorer auf machst, jeweils mit Netwerkpfaden zu den beiden Servern und du kopierst, dann läuft das nunmal über die bestehenden verbindungen, als erst zu dir und dann rüber zum Anderen.
Wenn du dich aber mit einem der Server verbindest (RDP, SCP, TeamViewer, Skype, ...) und dort im Explorer das kopierst, über eine Verbindung zwischen den beiden Servern, dann wird es auch direkt kopiert. Ob du dich nun selber mit dem Server verbindest und dort das Kopieren anwirfst, oder ob du ein Programm nutzt, welches dort läuft und auch da kopiert, aber von dir aus "fern"-gesteuert wird, das ist letztendlich deine Entscheidung. Wasserleitung zwischen dir und Server 1 Wasserleitung zwischen dir und Server 2 Pumpe bei dir ... beides muß durch diese Leitungen ODER Wasserleitung zwischen Server 1 und 2 langer Stab am Wasserhahn in der Leitung, bis zu dir |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz