Detailed explanation of the implementation process of Nginx log timing splitting in CentOS 7

Detailed explanation of the implementation process of Nginx log timing splitting in CentOS 7

1. Write a split script (splitNginxLog.sh)

* Because this example sets the log splitting to be performed at 0:00 every day, folder and rq are both set to use yesterday's date for archiving.

#!/bin/bash
folder=`date -d yesterday +%Y%m`
rq=`date -d yesterday +%Y%m%d`
# Original log path logs_path="/var/log/nginx/sitename.com/"
# Log backup path logs_backup_path="/var/log/nginx/sitename.com/$folder"
# Logs to be split logs_access="access"
logs_error="error"
# Create a backup path [ -d $logs_backup_path ]||mkdir -p $logs_backup_path
# Move the logs to the backup folder 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
#Terminate nginx's pid
pid_path="/var/run/nginx.pid"
kill -USR1 $(cat $pid_path)

2. Test log splitting script

Run the following statement in the directory where the .sh file is stored to test whether the split script is successful.

# sh splitNginxLog.sh

If you get the error $'\r': command not found, it may be due to the encoding of the .sh file, because the script written in the Windows editor is slightly different from that in Linux.

Treatment method:

1. Install dos2unix for encoding conversion

# yum install dos2unix

2. Convert code

# dos2unix splitNginx.sh

3. Set up automatic execution

# crontab -l //List all scheduled tasks
# crontab -e //Edit scheduled tasks

Write the following statements in it:

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

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • How to install PHP7.4 and Nginx on Centos
  • Detailed tutorial for installing nginx on centos8 (picture and text)
  • CentOS 7.2 builds nginx web server to deploy uniapp project
  • Solve the problem of "Welcome to nginx on Fedora!" after installing nginx on Centos7, and there is no default.conf file in the conf.d directory
  • Centos7.3 How to install and deploy Nginx and configure https
  • How to add Nginx to system services in CentOS7
  • How to install Nginx in CentOS7 and configure automatic startup
  • Centos7 startup process and Nginx startup configuration in Systemd
  • How to build a private server in docker (docker-registry with nginx&ssl on centos)

<<:  A brief discussion on this.$store.state.xx.xx in Vue

>>:  MySQL table auto-increment id overflow fault review solution

Recommend

Tomcat's class loading mechanism process and source code analysis

Table of contents Preface 1. Tomcat class loader ...

Analysis of the implementation principle of Vue instructions

Table of contents 1. Basic Use 2. Working Princip...

Docker pull image and tag operation pull | tag

I re-read the source code of the Fabric project a...

Embedded transplant docker error problem (summary)

After a long period of transplantation and inform...

Not a Chinese specialty: Web development under cultural differences

Web design and development is hard work, so don&#...

The difference between the four file extensions .html, .htm, .shtml and .shtm

Many friends who have just started to make web pag...

Vue Basics Introduction: Vuex Installation and Use

Table of contents 1. What is vuex 2. Installation...

About scroll bar in HTML/removing scroll bar

1. The color of the scroll bar under xhtml In the ...

The correct way to migrate MySQL data to Oracle

There is a table student in the mysql database, i...

Detailed explanation of mysql integrity constraints example

This article describes the MySQL integrity constr...

MySQL data analysis storage engine example explanation

Table of contents 1. Introduce cases 2. View the ...