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

推薦する

ウェブページの幅を携帯電話の画面(ビューポート)の幅に自動的に適応させる実装コード

一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...

JavaScriptはフォームデータの非同期取得を実装します

この記事では、フォームデータの非同期取得を実現するためのJavaScriptの具体的なコードを例とし...

Ubuntu 16.04にJenkinsをインストールするための詳細な手順

1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...

proxy_pass がパス パスに従って転送する場合の "/" 問題の詳細な説明

nginx で proxy_pass を設定するときに、^~ に従ってパスを一致させる場合は、pro...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

時間のかかるMySQLレコードのSQL例の詳細な説明

mysqlは時間のかかるSQLを記録しますMySQL は、最適化と分析のために、時間のかかる SQL...

Dockerでボリュームを管理する2つの方法

前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は...

Linux カーネル デバイス ドライバー システム コールに関する注意事項

/**************************** * システムコール**********...

Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

目次1. 問題の説明2. 原因分析3. 解決策4. 処理1. 問題の説明調整センターでは、最後の 2...

CSSの絶対と相対について

冒頭にこう書かれています:アブソリュートは言った。「親戚よ、私はあなたを私の人生で見たくない!」なぜ...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...

Angular CLI リリース パスの構成項目の簡単な分析

序文プロジェクトのリリースでは、常に特定の状況に応じたパッケージ化が必要です。Angular CLI...