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 オーバーフロー障害レビュー ソリューション

推薦する

MySQL のインデックスとビューの使用方法と違いの詳細な説明

序文この記事では主に、MySQL のインデックスとビューの使用方法と違いを紹介し、参考と学習のために...

CSS を使用して等アスペクト比のアダプティブ コンテナを実装する方法

最近、モバイル ページを開発しているときに、ページの幅が 100% の場合、高さは幅の半分になり、携...

Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決

Mysql マスタースレーブ同期の Last_IO_Errno:1236 エラーの原因は何ですか? ...

MySQLの自己接続と結合の詳細な理解

1. MySQL 自己接続MySQL では、情報を照会するときに自分自身に接続 (自己接続) する必...

Linux コマンドラインで電卓を使用する 5 つのコマンド

みなさんこんにちは。私は梁旭です。 Linux を使用するときに、計算を行う必要がある場合があり、そ...

Windows での Nginx のインストールと環境設定 (nginx をサービスとして実行)

最初で最も重要なステップは、Windows 環境に Ngnix サービスをインストールする方法です。...

MySQLトリガートリガー例の詳細な説明

目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...

TypescriptとAxiosに基づくインターフェースリクエスト管理の詳細な説明

目次アイデア傍受を要求するレスポンスインターセプションhttpClient.tsを使用してリクエスト...

WeChatアプレットでのwxsファイルの素晴らしい使い方をいくつか紹介します

目次序文応用フィルタードラッグファイル間での参照の受け渡しwxsはjsロジック層にパラメータを渡しま...

ウェブページにコンテンツが多すぎる場合に、下から上へ素早く戻る方法

Web フロントエンド開発では、ページに多くの記事を表示することが避けられません。記事の最後にあるク...

Windows 10 での MySQL 5.7.21 winx64 のインストールと設定方法のグラフィック チュートリアル

mysql 5.7.21 winx64 のインストールと設定方法: MySQLのコミュニティバージョ...

Linux での Hbase のインストールと設定のチュートリアル

目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...

Vueカスタムv-has命令、ボタン権限判定の手順

目次アプリケーションシナリオ簡単に言えば、カスタム指示基本概念グローバルカスタマイズローカルカスタマ...

ハイパーリンクの表示と開き方

<br />関連記事: ハイパーリンクを表示して開く方法症状<br />ユー...

CSS3 の新しいレイアウト: flex の詳細な説明

Flexの基本概念フレックス レイアウト (フレックスはフレキシブル ボックスの略)、エラスティック...