RUNDECKを使ってみる

こんばんは.
最近涼しくなってきましたね.日が沈むのも早くなり,夜が長くなってきました.個人的には活動時間が増えて嬉しい限りです.

さて,本日pyconのライブ放送を見ていて,rundedckというものが紹介されていたので,表題の通り導入してみました.
使用した理由というのはただ単に興味本位というだけなのですが,最近鯖を自宅に構築したので,鯖をいじるのが楽しくて仕方がない,というのもあると思います.

RUNDECKとは

公式サイトを御覧ください.
ジョブスケジューラ,というイメージです.ブラウザから操作できます(便利!!).
私が書いても恐らく情報量0 + 誤情報を発信してしまいそうですし.

使用用途

どうやらcrontabの代わりに使用できるようですので,随時リプレースしていきたいと思います.
まずはDDNSのアップデートを行うスクリプトをcrontabからrundeckに移行してみます.

インストール時のメモ

インストール方法はググればいくらでも出てくるので個人的にやったことや思ったことなど.

  • open-jdk7 をインストール
  • apt-get install rundeckで導入
  • ポートは4440番
  • 設定ファイルの中身を変えたら service rundeckd restart しよう
  • /etc/rundeck/rundeck-config.propertiesにある graiils.serverURLはデフォルトだとlocalhostなので他のマシンからアクセスする時はこの部分をhostnameにするなど変更を加える.これをやっておかないとブラウザで操作する際にいきなりlocalhost.../login.htmlとかに飛ばされてぽしゃる.
  • しかし,ローカルからと外部アクセスとではURLが異なる(外部からではマシン名から引けないし,内部からだと(我が家では)URLで引けない)場合はどうすれば良いのだろう?(エイリアスみたいな設定できないのかな??)

使ってみる

今回はDDNSをアップデートするスクリプトをcrontabから移行してみました.

やったこと

  • ログインして-プロジェクトを作る(名前などを入力するだけ)
  • create jobでジョブを追加する.
  • ジョブ編集画面にてworkflowの下からcommandを選択.wget -q -O /dev/null http://**********@www.mydns.jp/login.htm を記述
  • Schedule to run repeatedly? をYesにし,スケジュールの記載方法をcronに設定してcrontabで使用していた記述をコピペする
  • ジョブをSaveしたらRun Job Nowをクリックして実行してみる

気になったこと(今後調査)

  • 権限操作
  • スケジュールの設定でcrontabの記述が使えるのだけれども,crontabと違いyearまで記述しないといけない.途中叱られてDay of weekは?を記述した.

最後に

Run Job nowは成功してるのでしばらくこれで様子見をしてみたいと思います.
良さそうなら今後は他のジョブもcrontabから随時移行していきたいですね.
タイムアウト設定やリトライ設定,成功失敗のログなども見れますし,とてもパワフルなcrontabとして使えそうで移行するのが楽しみです.