2016-06-29 4 views
0

スクリプトは基本的に、リモートシャットダウンとwakeonlanを行う便利な方法です。このスクリプトは私のラズベリーパイから実行されます大きなbashスクリプトの一部としてsshを実行して1つのコマンドを実行する必要があります

私のデスクトップをシャットダウンするのは簡単ですが、ホームサーバーをシャットダウンすると、まず私のホームサーバー上で実行されているシードボックス仮想マシンをSSH経由で「今すぐシャットダウンする」

  TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"` 
      echo "$TIMESTAMP: shutting down seedbox virtual machine" >> ${LOG_FILE} 
      sshpass -p " " ssh -o StrictHostKeyChecking=no [email protected] 
      sleep 5 
      sudo shutdown -h now 
      sleep 60 
      TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"` 
      echo "$TIMESTAMP: shutting down $TARGET" >> ${LOG_FILE} 
      net rpc shutdown -f -t 5 -C 'Shutting down in 5 seconds' -U lukesau%pass -I 192.168.1.99 

シードボックスは、VMwareで動作するMac OS X仮想マシンです。おそらく、ホストOSをシャットダウンする前にVMをシャットダウンする方が良いかもしれません。

答えて

0

これは動作しません。sshは入力ファイルから次のコマンドを読みません。あなたは

sshpass -p " " ssh -o StrictHostKeyChecking=no [email protected] \ 
    'sh -c "sleep 5 ; sudo shutdown -h now ; sleep 60"' 

右sshの後に実行するコマンドを指定することができますこれは、再び「ローカル」あなたはssh経由で実行され、これらの3つのコマンドと休息をしたいと仮定しています。

私はそれについてのマニュアルがないので、私は引用したり、あなたのためにsshpassの建設を保証しません。

関連する問題