Linux システムサーバー、nginx ログの切断と保存のチュートリアル。

Nginx のログの切り取りと保存に関しては、logrotate ツールを使用できます。これを達成するための簡単なチュートリアルを次に示します。

  1. まず、logrotate ツールがインストールされていることを確認してください。ほとんどの Linux ディストリビューションでは、次のコマンドを使用してインストールできます。
sudo apt-get install logrotate  # Debian/Ubuntu
sudo yum install logrotate      # CentOS/RHEL
  1. Nginx ログ記録用の構成ファイルを作成します。ターミナルで、vi や nano などのテキスト エディタを使用して、次のような新しいファイルを作成します nginx-logrotate.conf
sudo nano /etc/logrotate.d/nginx-logrotate.conf
  1. 開いた構成ファイルに次のように入力します。
/path/to/nginx/logs/*.log {
    daily                     # 每天切割日志文件
    missingok                 # 如果日志文件不存在也不会报错
    rotate 7                  # 保留最近7个日志文件
    compress                  # 压缩旧的日志文件
    delaycompress             # 延迟压缩,直到下次切割时才压缩
    notifempty                # 如果日志文件为空,则不切割
    create 0644 <user> <group> # 设置新生成的日志文件的权限和所有者,用具体的用户和组替换<user>和<group>
    sharedscripts             # 在所有日志文件都处理完毕后,运行一次脚本
    postrotate                # 切割后执行的命令
        /usr/sbin/nginx -s reopen
    endscript                 # 脚本结束
}

/path/to/nginx/logs/<p> を実際の Nginx ログ ディレクトリへのパスに置き換え、  <user><p> を <group>適切なユーザーとグループに置き換える必要があることに注意してください 。

  1. 構成ファイルを保存して閉じます。

現在、logrotate は指定された構成に従って Nginx ログ ファイルを毎日切り取り、最後の 7 つのログ ファイルを保持します。必要に応じて、保存するログ ファイルの数、カット頻度など、構成ファイル内のオプションを調整できます。

最後に、古いログ ファイルが大量のディスク領域を占有しないように、定期的に古いログ ファイルを確認してクリーンアップしてください。crontab またはその他のスケジュールされたタスク ツールを使用して、一定期間より古い古いログ ファイルを削除するなどのクリーンアップ コマンドを定期的に実行できます。

おすすめ

転載: blog.csdn.net/tiansyun/article/details/131298379