はじめに
現在の現場でサーバ移行により設定ファイルを移行先向けに変更する必要がありました。ですがその設定ファイルがどこに格納されているのか情報がなかったため、その設定ファイルの調査やそのほかの調査にも役に立ったコマンドやサクラエディタの便利な機能について紹介いたします。
findコマンド(ファイル検索に便利)
findコマンドは、指定した条件に合致するファイルをディレクトリ内から探すのに非常に便利です。
例えば、特定の拡張子を持つファイルだけを抽出したり、条件を組み合わせて、サイズ・更新日時・ファイル名などで絞り込むことも可能です。
実際にfind / -name ""の形式でpropertiesファイルや、domain.xml、confファイルなどの調査を行いました。
例 /var配下の.logファイルの検索
find /var -name "*.log"
またfind / | grepでfindで指定したパス配下のファイル名の中からgrepで指定したワードを含むパスだけを表示できます。
例 /var配下のpasswdの文字列を含んだファイルの検索
find /var | grep passwd
grepコマンド(ファイル内検索に便利)
grepコマンドは、ファイルの中から特定の文字列やパターンを検索するのに役に立ちます。このgrepコマンドで移行前のIPやホスト名を検索して設定ファイルの洗い出しを行いました。
またgrepは他のコマンドと合わせて使うと便利で、先程の find / | grep や ps -ef | grep で起動してるプロセスを確認したりなどに使います。
今回やってませんが、ログの中で特定のイベントやエラーの証跡を見つけるときに非常に強力です。
例:/var配下でhostnameを検索
grep "hostname" /var
サクラエディタのgrep検索機能
サクラエディタの上部タブにある検索を選ぶとその中にGrepという検索機能がとても便利です。
Grep検索では、複数のファイルの中から特定の文字列を検索し、ヒットした箇所を一覧で表示できます。
また、検索結果の確認したいところをダブルクリックすると証跡などの該当箇所に飛ぶことができます。
これにより自分で操作した大量の証跡の内、特定のワードから自分の確認したい箇所を見つけることができます。
まとめ
調査作業に使える機能やコマンドは色々あると思います。現在の現場で設定ファイルを探す際、grepでログファイルまでヒットしてしまい、意図しない大量の出力が出てしまうことがありました。
しかし、今回記事を書くにあたって調べたところ、--exclude="*.log"とオプションをつけることで.logを検索対象から除外できることを知りました。また、ファイルだけでなく特定のディレクトリを対象外にしたり、他にも便利なオプションが色々あると思います。
今後は、このような知識を身に着けてオプションや機能を上手く活用し、より効率的に調査作業を進めていきたいです。