序文 デフォルトでは、Nginx ログはファイルに書き込まれます。各ドメインのログを区別するために、通常は別々に保存します。それでも、ファイルはどんどん大きくなり、表示や分析が非常に不便になります。通常、統計は毎日行われます。Nginx ログを日付ごとに分ける方法について説明します。 構成 スクリプトの作成 #!/bin/bash #LOGS_PATH=/usr/local/nginx/logs を初期化します 昨日=$(日付 -d "昨日" +%Y%m%d) #日ごとにログを切り取る mv ${LOGS_PATH}/bbs.52itstyle.com.access.log ${LOGS_PATH}/bbs.52itstyle.com.access_${YESTERDAY}.log mv ${LOGS_PATH}/blog.52itstyle.com.access.log ${LOGS_PATH}/blog.52itstyle.com.access_${YESTERDAY}.log # ログ ファイルを再度開くために nginx メイン プロセスに USR1 シグナルを送信します。そうしないと、mv 後にファイルにデータが書き込まれ続けます。その理由は、Linux システムではカーネルがファイル記述子に基づいてファイルを検索するためです。これを行わないと、ログのローテーションが失敗します。 kill -USR1 `ps axu | grep "nginx: マスタープロセス" | grep -v grep | awk '{print $2}'` #7日前のログを削除します cd ${LOGS_PATH} 検索 . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f 終了 0 タスクの書き込み #コマンドcrontab -eを実行 #ファイルに書き込んで保存 0 0 * * * /home/scripts/cut_del_nginx_logs.sh クローンタブ Crond は、Linux で定期的に特定のタスクを実行したり、特定のイベントが処理されるのを待ったりするために使用されるデーモン プロセスです。これは、Windows のスケジュールされたタスクに似ています。オペレーティング システムをインストールすると、このサービス ツールがデフォルトでインストールされ、crond プロセスが自動的に開始されます。crond プロセスは、実行するタスクがあるかどうかを 1 分ごとに定期的にチェックします。実行するタスクがある場合、タスクは自動的に実行されます。 Linux でのタスク スケジューリングは、システム タスク スケジューリングとユーザー タスク スケジューリングの 2 つのカテゴリに分けられます。 システム タスクのスケジュール: キャッシュ データをハード ディスクに書き込む、ログをクリーンアップするなど、システムが定期的に実行する必要がある作業。 /etc ディレクトリには、システム タスクのスケジュール設定用の構成ファイルである crontab ファイルがあります。 Crontab サービスのインストール crontab をインストールします: yum crontabs をインストール サービス操作手順: service crond start //サービスを開始します service crond stop //サービスを終了します service crond restart //サービスを再開します service crond reload //設定を再読み込みします crontab サービスのステータスを確認します。 サービス crond ステータス crontab サービスを手動で開始します。 サービスcrond開始 次のコマンドを実行して、crontab サービスが起動時に開始するように設定されているかどうかを確認します。 ntsysv 自動起動を追加: chkconfig –level 35 crond オン crontab 形式の説明 ユーザーが作成した crontab ファイルでは、各行がタスクを表し、各行の各フィールドが設定を表します。その形式は 6 つのフィールドに分かれています。最初の 5 つのセグメントは時間設定セグメントで、6 番目のセグメントは実行するコマンド セグメントです。形式は次のとおりです。 上記の各フィールドでは、次の特殊文字も使用できます。
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQLデータベースホスト127.0.0.1とlocalhostの違い
1. <body> タグ: Web ページの本体をマークするために使用されます。body...
HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...
質問:オリジン サーバーはターゲット リソースの表現を見つけることができないか、既存の表現を公開した...
目的: ステーションAをステーションBのセカンダリディレクトリとして扱うのように: http://w...
IE10 では、<input> と <input type="passw...
この記事の例では、古典的なマインスイーパゲームを実装するためのjsの具体的なコードを参考までに共有し...
Baiduの情報は多様すぎて目が回ります。心配しないでください。私はあなたのためにそれを体験しました...
この記事は主に、nginx に基づいてブラウザネゴシエーションキャッシュを設定する詳細なプロセスを紹...
[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...
この記事の例では、ページング効果を実現するためのvue+Elementの具体的なコードを参考までに共...
以前書いた内容が詳細さに欠けていたため、今回は修正・補足しました。ただし、以前の MySQL バージ...
初心者は自分で録音しましょう1. スーパーバイザーをインストールします。 Supervisor は ...
データベースマルチテーブル接続クエリの実装方法の詳細説明結合演算子を使用して複数のテーブルクエリを実...
これに先立ち、1日かけてやってみました。Seataは使い方が簡単で超シンプルですが、インストールや設...
国内の多くの広告主にとって、印刷広告の制作と評価は、しばしばかなり主観的です。自分の感情や美的感覚に...