我が社の携帯サイトは、計画性のない我が社の方針を如実に表すかのごとく、サイト名がころころ変わります。
今年に入って2度ほど変更されていますが、近々3度目の変更の予定があります。
サイト名を変更するには、HTML中に書かれているサイト名を修正せねばならず、その度にワタシががシェルスクリプトを実行して一括置換を行っています。
だいたいプロマネのワタシがなぜその様なことをせねばならんのかという疑問はありますが、開発会社に頼むとその一括置換だけで5時間とかあり得ない時間を請求されるので仕方なくワタシが対応しているのです。ワタシがやれば5分でできるし。楽勝だぜ、うんこうんこ。
さてそんな気のゆるみが災いしたのでしょう。
一括置換のスクリプトのテストを実行してはいけない場所で実行してしまいました。
なんということでしょう!
テストしてたのは「ab」という文字列を「ba」に修正するスクリプト。
このミスのために、HTMLの中身ではなくJavaプログラムのソースの中にある「ab」という文字が全て「ba」に置換されてしまいました。
バックアップは取っていません。
どうしましょう!
スクリプトの実行を途中で止めたため、全てのソースが被害を受けている訳では無さそうです。ただ被害を受けてしまったソースを特定するのが死ぬほどめんどくさそうです。
泣きそうです。
もう開発会社に全ての責任を押しつけて逃亡してしまおうかとも考えました。
逃亡と言えば、入社したときから目をつけていた例の娘はさっさと辞めたそうです。
その娘だけでなく、ワタシの目の前に座っていた人が今週一度も出社してきません。彼も逃亡か?
さて、冷静になってトラブルの対処法を考えると、一括置換の対象となってしまったファイルは更新日から特定出来そうということに気づきました。
findコマンドで今日更新日のファイルを抽出すると、全部で200弱くらいしかありません。
これなら一個づつ手作業で修正する事も出来そうです。
気合いを入れて、ひとつひとつ修正していく事にします。
修正を始めてみると、Javaのソースには「ab」という文字は意外に少ないという事が判明し、思ったより早く修正が完了しました。
そしてコンパイル。見事通りました。
よかった~。
テストだからミスってもいいや~という考えは良くないですね。
テストですら慎重に。本番はなおさら。
肝に銘じておきます。
ナワトビ
それ、もともとbaだったも文字列も混在していて、
それも修正しちゃったとか、そういうオチは無いのですか。
milano
そのようなことがないよう、ひとつひとつ目視で確認して修正したから大丈夫です。