私のサーバーで実行されているプロセスは毎晩深夜に終了します。動作中です。問題が発生したとき、私はそこにいなかったし、リモートアクセス権もなかった。
殺人は毎晩23時59分に非常に定期的に発生しました。私は次の日に到着したとき、次の事実を知っていました。
- 処理の締め切りは23:59です。
- プロセスログには、最後の変更時刻が23:59として表示されます(そして直後に新しい日付ログが開始されます)。
殺人事件が同時に起こったため、一括作業が疑われます。crontab
すべてのコンピュータでsを確認しましたが、何も見つかりませんでした。明らかに私は何かを見逃しています。
ps
数分前から始めて、しばらく繰り返して断続的に出力を報告する監視スクリプトを作成しようとしています。at
このアイデアは弱くてエラーが発生しやすいので、より良いアイデアを持つ人がいるかどうか疑問に思います。
詳細は:
Universeは非常に大きく、非常に古いレガシーシステムです。私たちのチームの誰もそのようなプロセスについて知らないようです(誰かが知っているなら、彼女は私たちのチームに参加します)。より大きな組織は何千人もの従業員で構成されていますが、理論的にはこのプロセスにアクセスできます(なぜそうなるのかわかりません)。つまり、セキュリティ対策はそれほど厳しくありません。
環境は、Solaris 10 を実行する複数のコンピュータで構成されます。
これは本番環境ではないため、タイムアウトやダウンタイムは重要ではありません。
タイミングの正確さのため、その可能性は低いですが、キルがバッチ操作によって発生しなかった可能性も排除しません。
明らかに、私たちの帳簿管理に欠陥があり、想像できるすべてのことが起こりました。
私の質問は、取ることができる最善の戦略が何であるかです。これは、「レガシーシステムで作業する喜び」というより大きな範囲に属します。私はスクリプトの作成を開始し、フィードバックのためにすぐにここに投稿する予定です。その間、より良いアイデアを持っている人がいれば教えてください。
ベストアンサー1
定期的にログを交換するのが一般的で、深夜にログを交換するのが一般的です。多くのアプリケーションがこれを自動的に実行します。
そうでない人のためにlogrotate
回転に使用できる同様のツールがあります。多くのプログラムは、HUP信号が送信されたときにログを再び開くように構成されていますlogrotate
。
確認すべき事項:
- すべてのPIDが変更されましたか?そうでない場合、プログラムは自分のログを回転させるか、ログの回転に適切に応答することができます。
- PIDを変更するプログラムの場合、真夜中に再起動しますか?そうでない場合は、親を確認し、それが何であるかを確認してください。
- 一日の終わりにどのプロセスが実行されているかを確認するには、ルートのcrontabを確認してください。
- 一日の終わりにどのプロセスが実行されているかを確認するには、crontabでプロセスのユーザーIDを確認してください。
- ログファイルが直接記録されているか、ログを循環させるログライターによって記録されていることを確認してください。