Wie würde ich eine Textdatei von einem Windows-Computer von einem Linux-CLI holen?

7

Ich schreibe ein Bash-Skript zur Analyse der E-Mail-Protokolle in unserem Netzwerk, bei dem es sich hauptsächlich um Postfix- Boxen handelt, möchte aber nach Möglichkeit MS Exchange-Protokolle in die Analyse einbeziehen.

Gibt es eine Möglichkeit, eine Datei von einem Windows-Computer aus remote über die Befehlszeile unter Linux zu kopieren? (Hinweis: Ich habe Administratorrechte auf der Windows-Box)

Brent
quelle

Antworten:

7

Machen Sie den Windows-Ordner zu einer Freigabe und mounten Sie ihn unter Linux?

mount.cifs //windows/share /mnt/windows -o "user=Administrator" 
Adam Gibbins
quelle
Müssen Sie den Backslashes nicht entkommen?
Lucas Jones
Ich habe tatsächlich fälschlicherweise umgekehrte Schrägstriche anstelle von Schrägstrichen gesetzt. Jeder dieser Schrägstriche sollte vorwärts sein. Ich würde bearbeiten, aber es löscht die Up-Stimmen.
Adam Gibbins
5
AFAIK tut es nicht, und selbst wenn es so wäre, sollte man nicht theoretisch nach einer richtigen Antwort streben, anstatt sich vor Angst zu ducken, einige ach so wertvolle Gegenstimmen zu verlieren?
Mihai Limbăşan
1
Die Up-Votes werden nicht gelöscht, wenn Sie den Beitrag bearbeiten. Es war eine subtile Art zu vermitteln, dass ich denke, dass Ihr Grund, Ihren Beitrag nicht zu korrigieren, kleinlich war, aber anscheinend wurde diese Subtilität verschwendet.
Mihai Limbăşan
1
Nein, tut es nicht. Es gibt nur allen anderen die Möglichkeit, ihre Abstimmung rückgängig zu machen (Sie können eine Abstimmung nicht rückgängig machen, wenn sie älter als ein paar Stunden ist. Denken Sie nicht daran, wie viele, es sei denn, sie wurde bearbeitet. In diesem Fall haben Sie die gleiche Zeit zum Rückgängigmachen die Abstimmung.) Ich habe meine Antwort mit der höchsten Abstimmung auf SF mindestens 5 Mal und auf SO Dutzende Male bearbeitet, also würde ich es wissen. Ihre Reaktion zeigt jedoch deutlich, dass es Ihnen weniger darum geht, Menschen zu helfen, als vielmehr um den Ruf der Website. Das kann ich nicht respektieren.
Mihai Limbăşan
5

Ich verwende, cwRsyncum meine Windows-Box auf meinem Linux-Server zu sichern. Es wird als Dienst unter Windows installiert.

Sie können auch verwenden, smbclientwas möglicherweise einfacher zu verwenden ist, als das Remote-Laufwerk tatsächlich im Dateisystem des Linux-Servers zu mounten.

Alnitak
quelle
4

Einige Optionen:

  • Geben Sie das Verzeichnis unter Windows frei und verwenden Sie smbmount, um es unter Linux zu mounten (dann können Sie einfaches cp verwenden).

  • Installieren Sie einen SSH-Server auf dem Windows-Computer (möglicherweise mit Cygwin), und dann können Sie die Datei scp über

  • Richten Sie den FTP-Server auf einem Windows-Computer ein und übertragen Sie ihn über FTP (mit wget / ncftpget oder ähnlichem).

Nathan
quelle
4

Verwenden Sie den Samba-Client, um die Administratorfreigabe bereitzustellen. Anstatt einen bestimmten Ordner mit in Windows freizugeben, müssen Sie ihn nur bereitstellen

\\ Maschinenname \ c $ \ Ordnername

Jared
quelle
3

Wenn Sie aus irgendeinem Grund keine Freigabe über CIFS bereitstellen können, verfügt Core FTP über einen sehr nützlichen kostenlosen SSH / SFTP-Server:

http://www.coreftp.com/

hernan43
quelle
2

Das Mounten einer Freigabe ist die beste Lösung. Vergessen Sie nicht, das Kommad 'dos2unix' zu verwenden, um Zeilenumbrüche zu verbergen.

Ninegrid
quelle
1

Wenn das Windows-System über einen SSH-Server verfügt, würde dies funktionieren. Wenn nicht, können Sie eine SMB / CIFS-Bereitstellung des Laufwerks auf dem Windows-System durchführen und die Datei dann auf Ihr lokales Linux-Laufwerk kopieren.

Harper Shelby
quelle
1

Einige Optionen.

Sie können eine Windows-Freigabe mithilfe von SMB bereitstellen und dann das Kopieren / Verschieben / usw. nach Bedarf ausführen. Sie können die Datei in einem Webspace platzieren und wgetzum Abrufen verwenden. Sie können einen SSH-Server auf dem Windows-Computer installieren und a scp. Sie können NFS verwenden, um auf das Windows-Laufwerk zuzugreifen. Sie können auch Exchange-Protokolle an einen Syslog-Server senden (oder Splunk verwenden ).


quelle
1

Sie können auch versuchen, den WS-Management-Standard zu verwenden. Dafür gibt es ein Projekt namens Openwsman , aber ich habe keine Ahnung, ob es sich um den aktuellen Status oder die Kompatibilität der Client-Tools mit der Windows Vista / Server 2008-Implementierung handelt. Siehe auch winrm / winrs .

Oskar Duveborn
quelle