Ist es möglich, einen Befehl unter Linux auf einem Windows-Server auszuführen?

7

Ich möchte eine SQL Server-Datenbank-Sicherung auf einem Windows-Remote-Server unter Linux wiederherstellen. Ich habe "net rpc" müde, aber es gibt nichts, um einen Befehl oder ein Skript auf dem Remote-Server auszuführen.

BioLounge
quelle
SqlCmd -E -S MyServer –Q “RESTORE DATABASE [MyDB] FROM DISK=’D:sqlserverDB.bak’” | net rpc shell -I IPADDRESS -U USERNAME%PASSWORD Weiß jemand, wie ich den Wiederherstellungsbefehl auf dem Remote-Windows-Server mit net rpc ausführen kann?
BioLounge

Antworten:

5

Schauen Sie sich winexe an - es hängt von Samba ab, verwendet RPC zum Ausführen von Remote-Befehlen und wird möglicherweise sogar mit den Paketen Ihrer Distribution geliefert.

Bearbeiten: Auch wenn Ihre Distribution nicht vorkompiliert ist und Sie sich nicht selbst kompilieren möchten, sollten Sie den Build Service überprüfen - es ist wahrscheinlich, dass Sie die Binärversion haben, die Sie für Ihr System benötigen würden.

the-wabbit
quelle
Die Abhängigkeit scheint Samba4 zu sein, nicht Samba (3).
Sven
Möglich. Wir verwenden seit einigen Jahren eine statisch kompilierte Version, ohne Samba4 auszuführen - es funktioniert.
The-Wabbit
4

Wie andere an anderer Stelle vorgeschlagen haben , können Sie mit cygwin einen SSH-Server auf der Win-Box einrichten und auf diese Weise .bat- oder .cmd-Dateien remote ausführen.

Alien Lebensform
quelle
2

Sie haben nicht wirklich beschrieben, was Sie tun möchten oder wie oft Sie es tun möchten.

Wenn sich das, was Sie tun möchten, wiederholt und parametrierbar ist, können Sie die uralte Lösung verwenden, einen Daemon auf dem Remote-Server zu erstellen, der regelmäßig nach Dateieinträgen in einem freigegebenen Verzeichnis sucht, in dem die Dateieinträge die Parameter für das Skript enthalten. So funktionierten zuerst Druckserver und viele andere Dämonen. Wenn Sie dies auf diese Weise tun, bringen Sie normale, von Windows geplante Aufgaben, Batchdateien und freigegebene Verzeichnisse weit.

Die moderne Version (und vielleicht viel mehr Overkill) davon besteht natürlich darin, einen einfachen Webserver auf dem Windows-Computer zu erstellen, der Ihre Datenbankwiederherstellungsaufgabe ausführt, wenn jemand die entsprechende URL anfordert.

Jerry Asher
quelle
1

Sie können den Telnet-Dienst auf dem Windows-Server starten und den Befehl dann über eine Telnet-Sitzung ausführen.

Massimo
quelle
4
Obligatorische Warnung: Telnet ist völlig unverschlüsselt, alles, was Sie eingeben, wird im Klartext über das Kabel übertragen.
Sven
Na sicher. Sowohl der Server als auch der Client sind in Windows und Linux integriert, sodass dies bei weitem die einfachste Lösung ist.
Massimo
2
Ich stimme zu, aber ich fand die Warnung trotzdem notwendig (und die Ablehnung ist nicht meine :)).
Sven
1
Kannst du nicht die Identität des Downvoter über 20.000 Reputation erkennen und einen Kreuzzug aus Zorn und Rache beginnen? Wenn nicht, ist es sicherlich eine Funktionsanfrage wert.
The-Wabbit
1
@Massimo - einfach etwas anderes zu behaupten, würde unnötige Abstimmungen mit dem geringsten Schaden verhindern.
The-Wabbit