http://nginx.org/en/docs/control.html
Nginx信号管理实现 
http://nginx.org/en/docs/control.html
Nginx的信号管理命令为:kill -参数 Nginx进程号
例如:kill -HUP $(cat /usr/local/nginx/logs/nginx.pid) 
官方参考地址
| 参数 | 解释 | 
|---|---|
| TERM, INT | Quick shutdown | 
| QUIT | Graceful shutdown(优雅关闭进程,等请求结束后再关闭) | 
| KILL | Halts a stubborn process | 
| HUP | Configuration reload,Start the new worker processes with a new configuration,Gracefully shutdown the old worker processes(改变配置文件,平滑重读配置文件) | 
| USR1 | Reopen the log files(重读日志,可在日志切割时使用) | 
| USR2 | Upgrade Executable on the fly(平滑升级) | 
| WINCH | Gracefully shutdown the worker processes(优雅关闭旧的进程) | 
/usr/local/nginx/sbin/nginx -s reload /usr/local/nginx/sbin/nginx -HUP `cate /usr/local/nginx/logs/nginx.pid`
/usr/local/nginx/sbin/nginx -s reopen /usr/local/nginx/sbin/nginx -USR1 `cate /usr/local/nginx/logs/nginx.pid`
任务需求:每日凌晨将nginx日志根据日期重命名日志文件进行切割。
昨天时间命令 date -d yesterday +%Y%m%d 切割脚本内容:
#!/bin/bash
# filename nginx_logrotate.sh
# author catsnyne@gmail.com
DATE=$(date -d yesterday +%Y%m%d)
LOG_PATH=/usr/local/nginx/logs/
LOG_NAME=access.log
BASE_PATH=/var/log/
SAVE_LOG_NAME=${DATE}.${LOG_NAME}
mv ${LOG_PATH}${LOG_NAME} ${BASE_PATH}${SAVE_LOG_NAME}
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
定时执行任务:
1 * * * * /usr/bin/crontab /root/curlog.sh >/dev/null 2>&1
花点时间了解一下:电饭煲做卤鸡