私はいくつかのウェブサイトをホストするサーバーを持っています、私はいくつかのログを見てそれらを圧縮する以外に約2ヶ月間メンテナンスをしていません。
Linuxサーバーで実行する必要のある定期的なメンテナンスは何ですか?メンテナンスを行うためのスクリプトはありますか?
最も重要なことは、サーバーを常に監視して、サーバーで何が起こっているかを常に把握できるようにすることです。ディスク使用量、CPU使用率、負荷、メモリ使用量、トラフィックなどを追跡することが重要です。このタスクに役立つオープンソースツールはたくさんあります。これは、将来のアップグレードを計画するのにも役立ちます。
一方、定期的かつ自動のバックアップを実行する必要があり、バックアップが機能していることを確認するために、時々バックアップをテストすることが非常に重要です。
アップデート、特にセキュリティアップデートを確認し、必要に応じてインストールすることも重要です。
自動で実行できることはすべて自動で実行する必要がありますが、ログを時々確認することを忘れないでください。
お役に立てれば!
この質問に対する前の質問はすべて価値のある答えですが、それらはすべて大規模な思考によって色付けされています。ホストが1つだけで、失敗しても子猫がすぐに殺されないWebサイトを提供している場合は、少し小さく考えてみてください。私は次のことを提案します:
ログを集約し、要約をメールで送信するlogwatchまたは同様のシステムを使用します。少なくとも1日おきに要約を読んでください。ウェブログ(アナログなど)を読みやすい要約にまとめるツールを使用します。もう少し野心的になりたい場合は、クラウドサービスを使用してサイトを監視してください。
ただし、システムメンテナンスの本質は同じです。発生した各問題を強制終了して、決して再び発生しないようにします。これは、「定期的な」メンテナンスがないことを意味するため、重要なポイントです。
今より大きな規模のために:
スケールアップするときに最初に発生する問題の中には、何かが壊れて、それを知らないというものがあります。これは二度と起こらないはずです。次に、本格的な監視ソリューションを入手します。また、1つのホストで問題が発生するのを確認したら、他のホストで問題が発生しないようにします。それはあなたが構成管理システムを手に入れるときです。
しかし、この時点で満足してはいけません。すべての努力は永続的ソリューションに入る必要があります。
OSにパッチを適用して、最新のバグ修正とセキュリティアップデートを入手してください。これは、実行できる最も重要な1つのステップです。それを超えて、時間の経過とともにシステムの状態を通知するための監視を実施する必要があります。モニタリングはメンテナンスではないという上記の点に反対しなければなりません。そもそも、システムが機能していないときやメンテナンスが必要なときを確認するには、システムとその実行方法のベースラインを理解する必要があります。これを実際に行う唯一の方法は、すべてをグラフ化することです。これには、Nagios、サボテン、神経節の組み合わせを使用します。
スクリプトに関しては、ログの圧縮について言及したので、logrotateを見てください。ログウォッチもあります。
マルコスは、メンテナンスの共通点である監視、バックアップ、更新について素晴らしい履歴書を作成しました。
私は(人々のコメントによって)その監視を繰り返す必要があります!=メンテナンス。
追加したいのは:古いユーザーのクリーンアップ、古いcronタスクなどです。パスワードの更新。 サーバーの寿命の変化に伴うシステム構成の進化(監視履歴の確認)(これには監視とバックアップの進化が含まれます)。セキュリティ監査。カスタムレポート(つまり、サービスの詳細な使用状況、共有リソース、セキュリティレポート)。そして...
バックアップをランダムに復元します(実行する必要はありません)。また、自動展開システムを使用してサーバー全体を復元しない場合は、常にMBR(マスターブートレコード)のコピーを含めてください。
ファイアウォールは500日間の稼働時間に耐えることができます(はい、これは悪いメンテナンスです。年間約10/15のカーネルアップグレードがあるため、大きな稼働時間は以前は人間によるメンテナンスなしで脆弱なカーネル)に等しい。これは、パーティション、syslogの適切な構成であり、大きな構成変更はありません。
スクリプトを要求します。一般的なパッケージ済みのスクリプトがあるかもしれませんが、それは[〜#〜] diy [〜#〜](Do It Yourself)に関するものです。したがって、最初にlearnまたはシステムの動作を読む(これにはディストリビューションが含まれます)特定のREAME、マニュアルページ、ポリシー、およびコンパイルオプション)、thenyothink howシステムが動作する必要があり、次にあなたwriteカスタムスクリプト( cron、カスタムコマンドなど)OSの組み合わせを管理します+望ましい動作/結果/レポート/変更管理/ロールバック/反応/など。
また、利用可能な汎用ツール(monit、nagios、cacti、zabbixなど)をスクリプトで拡張することができますスキルおよび利用可能なサードパーティプラグイン。
例:「パーティションがいっぱいかどうか」を知る必要があるだけですか、それともディスク温度、空きiノード、ファイルとフォルダの権限、チェックサム、S.M.A.R.T.ステータス、不良セクタ)を制御する必要がありますか? 、ファイルシステムチェック、および物理ハードウェアの推定ライフサイクル?
また、バックアップだけでなく、監視システムとカスタマイズも、可能な場合は検証して、障害や攻撃などをシミュレートする必要があります。
実稼働前のサーバー、環境、ディレクトリ、データベースなどで、カスタムスクリプトを検証してバグをクリーンアップできる場合は、カスタムスクリプトの方が優れています。
メンテナンスは監視によって行われます。外部アクセスにさらされているマシンがある場合は、いくつかのチェックツールが必要です:rkhunter、chkrootkitは、メールが毎日送信される基本です.. smartdは、hddをチェックし、問題が発生した場合にメールを送信する必要があります。整合性チェッカーのトリップワイヤー、 IDS +整合性チェッカー、および他の多くの..もちろん、システムはすでに強化されていると想定されています(少なくともデフォルトのSElinuxターゲットポリシーでは)、nagios、zabbixなどでパフォーマンスモニタリングを行うのに最適です..(継続するために)異常なイベントやマシンのステータスに注意してください)