CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。

* この例では、ログ分割が毎日 0:00 に実行されるように設定されているため、folder と rq は両方ともアーカイブに昨日の日付を使用するように設定されています。

#!/bin/bash
フォルダ=`date -d 昨日 +%Y%m`
rq=`date -d 昨日 +%Y%m%d`
# 元のログパス logs_path="/var/log/nginx/sitename.com/"
# ログバックアップパス logs_backup_path="/var/log/nginx/sitename.com/$folder"
# 分割するログ logs_access="access"
logs_error="エラー"
# バックアップパスを作成する [ -d $logs_backup_path ]||mkdir -p $logs_backup_path
# ログをバックアップフォルダに移動する mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
#nginxのpidを終了する
pid_path="/var/run/nginx.pid"
キル -USR1 $(cat $pid_path)

2. ログ分割スクリプトのテスト

.sh ファイルが保存されているディレクトリで次のステートメントを実行して、分割スクリプトが成功したかどうかをテストします。

# sh splitNginxLog.sh

エラー $'\r': コマンドが見つからない が発生した場合、Windows エディターで記述されたスクリプトは Linux のものと若干異なるため、.sh ファイルのエンコードが原因となっている可能性があります。

治療方法:

1. エンコード変換用のdos2unixをインストールする

# yum install dos2unix

2. コードを変換する

# dos2unix splitNginx.sh

3. 自動実行を設定する

# crontab -l //スケジュールされたすべてのタスクを一覧表示
# crontab -e //スケジュールされたタスクを編集する

そこに次の文を書いてください。

00 00 * * * bash /root/splitNginxLog.sh

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Centos に PHP7.4 と Nginx をインストールする方法
  • Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)
  • CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します
  • Centos7 に nginx をインストールした後、conf.d ディレクトリに default.conf ファイルがないために「Welcome to nginx on Fedora!」というエラーが表示される問題を解決します。
  • Centos7.3 Nginx をインストールして展開し、https を設定する方法
  • CentOS7 のシステム サービスに Nginx を追加する方法
  • CentOS7にNginxをインストールして自動起動を設定する方法
  • Centos7 の起動プロセスと Systemd での Nginx の起動構成
  • docker でプライベート サーバーを構築する方法 (CentOS 上の nginx と ssl を使用した docker-registry)

<<:  Vue の this.$store.state.xx.xx に関する簡単な説明

>>:  MySQL テーブル自動増分 ID オーバーフロー障害レビュー ソリューション

推薦する

Nginx コンパイル済み nginx - 新しいモジュールを追加

1. 既存のモジュールを表示する nginx の sbin ディレクトリに nginx の sbin...

CSS3に基づいてiPhoneを描く

結果:実装コードhtml <div class='iphone'> &l...

フロントエンドページのスライド検証を実装するための JavaScript + HTML

この記事では、フロントエンドページのスライド検証を実装するためのJavaScript + HTMLの...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...

Dockerコンテナの構築と実行のプロセスの詳細な説明

イメージをプルし、コンテナを作成してコンテナを実行するだけです。 docker run -d --r...

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

MySQL 5.7 mysql コマンドラインクライアントの使用コマンドの詳細

MySQL 5.7コマンドを使用するMySQLコマンドラインクライアント1. パスワードを入力してく...

HTML ドラッグ アンド ドロップ機能の実装コード

Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...

MySQLクエリ文を書き換える3つの戦略

目次複雑なクエリとステップバイステップのクエリクエリステートメントを分割する共同クエリの分解問題のあ...

HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

MySQL 子テーブルで外部キー制約チェックを無効にする方法

準備する:教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブルIDを参照します。テーブルt...

sqlmap インジェクションの詳細なグラフィック説明

目次1. この Web サイトには SQL インジェクションの脆弱性がある可能性があることが判明しま...

Linux での Tomcat8 のインストールとアンインストールに関する詳細なグラフィック チュートリアル

[ Tomcat8 の Linux インストール ] Tomcat をアンインストールする - まず...

MySQLループは数千万のデータを挿入する

1. テストテーブルを作成する テーブル `mysql_genarate` を作成します ( `id...

Docker が占有するディスク領域をクリーンアップする方法

Docker は多くのスペースを占有します。コンテナを実行したり、イメージを取得したり、アプリケー...