2

リモートUbuntuシステムをシャットダウンできるスクリプトを書きたいです。実際、VMがインストールされているメインマシンをシャットダウンするときに、VMを安全にシャットダウンしたいと思っています。

ShスクリプトまたはPythonのような任意の言語で書かれたスクリプトの助けを借りてこれを行うことはありますか?

4

6 に答える 6

5

リモートLinuxマシン(VMホスト)から次のコマンドを実行できます。

ssh root@<vm-client-ip> "shutdown -h now"

リモートマシンのrootパスワードを入力する必要があります。これを防ぐには、ssh証明書を追加します(スクリプトを作成している場合に適しています)。

パスワードなしのSSHログイン

これからスクリプトを作成する場合は、シャットダウン後に遅延を追加することを忘れないでください(たとえばsleep 10)。これにより、VMが平和的に停止する時間が確保されます。

完全なbashスクリプト(テストされていない):

#!/bin/bash

ssh root@<vm-client-ip> "shutdown -h now"
sleep 10
于 2012-11-24T10:17:33.077 に答える
2

Linuxシステムをオフにする方法はたくさんあります。推奨される方法は、ウィンドウマネージャーのシャットダウンシーケンスを呼び出すことです。使用してgdmいる場合(Ubuntuを使用している場合はおそらく使用したいものです:

gnome-session-quit --power-off

kdmコマンドを使用している場合は次のとおりです。

kdmctl shutdown

コンピューターをシャットダウンする他の方法(ほとんどまたは完全に同等である場合とそうでない場合がありますが、すべてスーパーユーザー権限が必要です)には、次のものがあります。

/sbin/init 0
/sbin/halt
/sbin/shutdown -h now
/sbin/poweroff

などなど。

于 2012-11-23T19:49:00.880 に答える
2

ハイパーバイザー、つまりqemu/KVMの場合はqmスクリプトを使用できます

qm shutdown 300 && qm wait 300

ID 300のVMをシャットダウンし、VMが停止するのを待ちます。その他のオプションについては、qmのマニュアルを参照してください。

于 2012-11-23T19:17:18.137 に答える
1

システムをシャットダウンする実際のコマンドは、特にシャットダウンです。

$ shutdown -h now

今それをシャットダウンします。これは、停止するマシンでスーパーユーザー権限で実行する必要があります。

于 2012-11-23T19:10:04.053 に答える
0

poweroffスクリプトがスーパーユーザー権限で実行されている限り、スクリプトから呼び出すことができます。

于 2012-11-23T19:10:37.253 に答える
0

使用している仮想化製品(KVM、VirtualBox、VMWareなど)に応じて、使用できる適切なインターフェイスが必要です。

選択した仮想化ソフトウェアの名前と「API」をGoogleで検索することをお勧めします。上記のすべての例には、Pythonなどから呼び出すことができる関連する結果があります。

VirtualBoxについては、次のリンクを確認してください:https ://blogs.oracle.com/nike/entry/python_api_to_the_virtualbox

これにより、cURLなどを介したリモート制御を可能にするSOAPインターフェイスが提供されます。

または、リモートの側面では、サーバーで秘密鍵認証を設定し、鍵のパスフレーズをローカルに保存することもできます(たとえば、Seahorseを使用)。これにより、毎回パスワードを入力しなくてもsshアクセスを保護できます。

于 2012-11-23T20:11:32.510 に答える