リカバリー作業

ある人が、操作を間違えてrm -rf ./してしまったとさ。
rootで実行したわけではないので綺麗さっぱりというわけではないが、一部重要データも消えちゃいましたとさ。
そのデータは毎週お客さんに提出しているレポートの材料となるもので、ぶっちゃけて言うと、Oracleのパフォーマンス情報(STATSPACK)をレポート化(テキスト化)したもの。
幸い元データはDBにあり、残っているので急いで復旧というわけで昨日からシコシコとやっていたのだが、オンライン稼働中真っ只中にやるわけにもいかず、時間制限がある。
2時間やって1/10もできなかった。

その散々たる結果に、むきーとなって今日事前に1時間(+α テスト30分)ほどでシェルスクリプトSQLを作って自動化。

結果、1時間半くらいで全て終了。

何故か神扱いされる。内心まんざらでもないが、やって当たり前だろう、何故最初からやろうとしなかったお前ら、といった感じで複雑な気分。

何かみんな、面倒なものを面倒なものとして放置している感じがある。「短気」さが足りないいうか。それってシステムエンジニアとしてどうなのよ、と。お客さんのシステムはエンジニアリングしても、自分の周りの環境のエンジニアリングはしないのか? と。

そういえば、SCMを導入して成果物のバージョン管理しましょうか、とかいう話が営業の人からあるというので興味を持って聞きに行ったら、如何に工数を取るかとかサーバはどうするかみたいな話ばかり。で、現場で作業している人にうまみは無いの? とか、今現在保守しているソースコードの管理にどのような変化がでるの? といった質問が周りから全く出なかったことに愕然とした思い出がある。


個人的にはコンピュータの世界は、やるかやらないか、ではなく、出来るか出来ないか、だと思っている。つまり、人間のルール決めでこれややるとまずいからやらないルールにしましょ、ではなく、これはやらせたくないから出来ないようにしましょ、というのが僕の好みだし、そうあるべきだと思う。しかし、そうなる雰囲気はなく、何故か運用回避みたいな方向になる。お陰で出来るけどやっちゃだめというルールが蔓延している。そんなだから、何かの時にポロッとミスがでるんだよ。最初から出来ない設定にしておけば、エラーがでるだけで終わるのに。

この前だって、Ctrl+dでログアウトしないように注意しましょうって御触れが出た。いや、そうじゃなくて、シェルの設定で無効に出来るでしょって進言したのに無視されるし。

もう、何なんでしょうねぇ、技術的にどうこうじゃなくて運用でどうこうしましょってのがシステムに対するエンジニアリングなんでしょうかねぇ。このプロジェクトおわた\(^0^)/ と言いたくなってくる。

あぁまた愚痴ってしまった。もう寝る。