Verwenden Sie Samba.
Samba bietet einen Dateifreigabedienst, der mit Windows kompatibel ist.
Sie können ein Verzeichnis freigeben (zum Beispiel /srv/samba/sharename
) auf Ihrem Linux-Computer und greifen Sie von Windows wie folgt darauf zu:\\linuxservername\sharename
. Es benötigt keine zusätzliche Software auf der Windows-Seite.
Samba ist in den meisten Linux-Distributionen enthalten. Installieren Sie es mit dem Paketmanager, zum Beispiel:
-
Ubuntu:
sudo apt-get install samba smbclient
-
SUSE:
zypper samba
-
CentOS/RedHat:
yum install samba
Um Samba zu konfigurieren, siehe:
-
Ubuntu:http://ubuntuforums.org/showthread.php?t=202605
-
SUSE:http://doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/cha.samba.html
-
CentOS/RedHat:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-samba-configuring.html
oder suchen Sie bei Google nach einer Anleitung für Ihre Distribution.
Beachten Sie, dass Sie möglicherweise Ihre Linux-Firewall konfigurieren müssen, falls Sie eine verwenden, um Verbindungen zu den Ports 137/tcp, 138/tcp, 139/tcp und 445/tcp zu akzeptieren (siehe this und this).
In der obigen Beschreibung ist der Linux-Computer ein Samba-Server und Windows mountet eine Freigabe von ihm.
In Ihrem Kommentar unten erwähnen Sie, dass Sie den Übertragungsprozess automatisieren möchten . Dies kann erreicht werden, indem die Rollen vertauscht werden, sodass Windows als Server fungiert und Linux sich mit smbclient
verbindet .
Mit smbclient
Sie müssen die Windows-Freigabe überhaupt nicht mounten. Zum Beispiel, um C:\Directory\file.txt
abzurufen und kopieren Sie es nach /tmp
auf Ihrem Linux-Computer tun Sie dies:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Befehl zum Ausführen. Siehe man smbclient
für Details.
-U
Benutzername und Passwort für den Zugriff auf die Freigabe, angegeben als username%password
Passen Sie es an Ihre Bedürfnisse an und fügen Sie es Ihrem Skript hinzu.
Ich weiß, Sie sagten, Sie können nicht erwarten, dass bestimmte Software installiert wird, aber es gibt SSH/SCP/SFTP-Clients für Windows, die keine besondere Installation erfordern; nur die ausführbare Datei ist verfügbar. Eines, an das ich mich immer wieder wende, ist PuTTY mit seinem Begleiter pscp
und psftp
Tools, aber ich bin mir sicher, dass es Alternativen gibt. pscp
und psftp
sind vollständig von der Kommandozeile aus steuerbar und eignen sich daher gut für Automatisierungsaufgaben. Beide haben sogar einen -batch
Schalter, der als "alle interaktiven Eingabeaufforderungen deaktivieren" beschrieben wird und mit ziemlicher Sicherheit genutzt werden kann.
Da Sie vermutlich bereits einen SSH/SCP/SFTP-Server auf dem Server installiert und konfiguriert haben, müssen Sie keine Software auf einem der beiden Hosts installieren, nur um diese Dateien zu kopieren.
Ein weiterer Vorteil könnte die Tatsache sein, dass PuTTY unter einer freizügigen Lizenz Open Source ist. Wenn es also nicht sofort das tut, was Sie wollen, sollte es relativ einfach sein, es so zu verhalten, wie Sie es bevorzugen.