日志切割是线上常见的操作,能够控制单个日志文件的大小,便于对日志进行管理
给nginx主进程发送一个重新打开的信号,让nginx重新生成新的日志文件
nginx -s reopen
这个命令等同于kill -USR1 `cat nginx.pid`
切割日志文件shell命令
#!/bin/bash
# 脚本写入crontab,每天0点执行,这是一个nginx日志切割脚本
#nginx日志存放点
logs_path="/usr/local/nginx/logs"
create_dir_path=$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
mkdir -p ${logs_path}/${create_dir_path}
mv ${logs_path}/access.log ${logs_path}/${create_dir_path}/access_$(date -d "yesterday" +"%Y-%m-%d_%H-%M-%S").log
# 也能换成 nginx -s reopen
kill -USR1 `cat ${logs_path}/nginx.pid`
生产环境下,日志切割主要是以定时任务的形式来操作的
1.打开定时任务
crontab -e
2.定时参数说明
* 分钟 (0-59)
* 小时 (0-23)
* 一个月中的哪一天 (1-31)
* 月份 (1-12)
* 一周中的哪一天 (0-7,其中0和7都表示星期日)
例子中表示每五分钟执行一次shell脚本
3.查看定时任务
crontab -l
4.删除定时任务
crontab -r