CSRF対策でruby使わないと簡単にはリモートシャットダウンできないようになってるのね。ということで書きました。
urlとpassの行を適宜自分の環境に書き換えれば動くはずです。
ただしruby mechanizeを使っているのでFreeBSDな人はwww/rubygem-mechanize をあらかじめインストールしておいてください。
#!/usr/local/bin/ruby
# -*- coding: utf-8 -*-
####### 設定内容
url="http://10.0.0.1"
pass="your password"
####### 以下処理内容
require 'rubygems'
require 'mechanize'
agent=Mechanize.new
page=agent.get(url);
# ログイン
page.form_with(:name => 'form') { |f|
f.field_with(:type => 'password').value=pass}.submit
#シャットダウンページ取得
page=agent.get(url+"/system/detail/system/shutdown.php");
#デフォルトで再起動ではなく、シャットダウンに選択されてるはず、そのままsubmit
page=page.form_with(:name => 'form').submit
#確認画面(本当はjavascriptで確認画面処理してるので、飛ばして最後のシャットダウン実行
page=page.form_with(:name => 'form'){|f| f.default_event="shutdown" }.submit
0 件のコメント:
コメントを投稿