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

CSS code to achieve background gradient and automatic full screen

CSS issues about background gradient and automati...

Docker container log analysis

View container logs First, use docker run -it --r...

Example to explain the size of MySQL statistics table

Counting the size of each table in each database ...

Detailed steps for installing and using vmware esxi6.5

Table of contents Introduction Architecture Advan...

How to install and modify the initial password of mysql5.7.18

For Centos installation of MySQL, please refer to...

Detailed explanation of the basic usage of the Linux debugger GDB

Table of contents 1. Overview 2. gdb debugging 2....

React realizes the whole process of page watermark effect

Table of contents Preface 1. Usage examples 2. Im...

Linux uses join -a1 to merge two files

To merge the following two files, merge them toge...

A brief discussion on VUE uni-app conditional coding and page layout

Table of contents Conditional compilation Page La...

Detailed analysis of GUID display issues in Mongodb

Find the problem I recently migrated the storage ...

Detailed explanation of JavaScript implementation of hash table

Table of contents 1. Hash table principle 2. The ...