内容纲要
编写如下的 shell 脚本
#!/bin/bash
# nginx 日志存放路径
NGINX_LOG_PATH="/data/logs/nginx"
# 获取昨天的日期
DATE=`date -d yesterday +%Y%m%d`
# 在日志目录下创建一个子目录,目录名是昨天的日期
mkdir $NGINX_LOG_PATH/$DATE
# 将所有的 log 文件移动到新建的子目录
mv $NGINX_LOG_PATH/*.log $NGINX_LOG_PATH/$DATE
# 重启 nginx 服务,关键点是 nginx.pid 文件的路径要正确
kill -USR1 `cat /data/nginx/logs/nginx.pid`
脚本命名为 cut_nginx_log.sh
,保存到 /data/nginx/sbin
,注意赋予执行权限
chmod a+x /data/nginx/sbin/cut_nginx_log.sh
用 corntab 调度脚本
corntab -e
# 输入以下配置
0 0 * * * /data/nginx/sbin/cut_nginx_log.sh
关于 kill 命令
kill -USR1
这个命令不太了解,在搜索引擎上搜索,居然没有一条匹配的,还疑惑了半天。
原来是搜索引擎会把关键字前的 -
视为"排除",所以所有的搜索结果都是包含 kill
关键字但不包含 USR1
关键字的
去掉前缀的 -
即可
按天分割 nginx 日志