読者です 読者をやめる 読者になる 読者になる

c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programmingに分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡

音樂はSoundCloud等バラバラの場所に公開中です。申し訳ないがlinkをたどるなどして探してください。

考察は現在は主に此のblogで公表中です。

programmingは、ひろくみせるものはGitHubで、個人的なものはBitBucketで開発中です。

c4se

殺したサーバーを一覧する

数秒で書き終はる鮮度系。
サービスには沢山の種類のサーバーがそれぞれ沢山たってゐ、sshから繋ぎ易いやうに .ssh/config に書いてあったりする。例へば此んなふうに。

Host momonga-web-01
  HostName x.x.x.x
Host momonga-web-02
  HostName x.x.x.x
Host momonga-db-01-01
  HostName x.x.x.x
…

然も此の一覧はスクリプトで自動でメンテされてゐたりする。
此れを前提として、やむごとなき理由でサーバーの台数を大幅に減らす事と成った。削減は人に遣っていただいたので、結果は聞けばよいのだが、聞いて正しい答が返ってくるとは必ずしも限らないので、予防として実地で確かめてみる。全サーバーにICMP pingを送り結果を一覧。時間は掛けられないので。

%ruby -e'File.read("#{ENV["HOME"]}/.ssh/config").scan(%r{^Host\s+(.+)\n\s+HostName\s+(.+)$}).uniq.sort_by{|m| m[0] }.inject({}){|table, m| table[m[0]] = m[1]; table }.select{|k, _v| k.include?("momonga") }.each{|name, ip| system("ping -c 1 #{ip}", out: "/dev/null", err: "/dev/null") ? puts("#{name} ok.") : puts("#{name} dead.") }'
momonga-web-01 ok.
momonga-web-02 dead.
momonga-db-01-01 ok.
…

書き捨てはRuby、置換は perl -pi0 -e's/…/…/g'、書き捨てでないスクリプトファイルはCrystalで書いてゐる。