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. 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 2. Convert code 3. Set up automatic execution
Write the following statements in it: 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:
|
<<: A brief discussion on this.$store.state.xx.xx in Vue
>>: MySQL table auto-increment id overflow fault review solution
This article mainly introduces the detailed expla...
Directory Structure . │ .env │ docker-compose.yml...
Simple application deployment 1. Directory struct...
I wonder if you have ever thought about this ques...
Table of contents Why understand the life cycle W...
Use examples to familiarize yourself with the mean...
This article uses an example to illustrate the me...
Pull the image docker pull season/fastdfs:1.2 Sta...
1. Overview of DDL Atomicity Before 8.0, there wa...
This article uses examples to explain the princip...
Solution to MySQL failure to start MySQL cannot s...
This article shares the specific code of JavaScri...
Table of contents Join syntax: 1. InnerJOIN: (Inn...
When you see a class, what information do you wan...
/****************** * Advanced character device d...