nginx分割日志
2024-09-07 07:49:46
实现nginx日志按照时间分割存储
backups_log.sh
#设置log日志的存储地址
LOG_PATH=/home/soft/nginx/logs
#设置历史日志的存储地址
HISTORY_LOG_PATH=/home/soft/nginx/history_logs
#获取分割日志时所需要的时间当做日志文件名称
TIME=$(date +%Y-%m-%d)
#将当前日志备份到指定存储目录
mv ${LOG_PATH}/access.log ${HISTORY_LOG_PATH}/access_log/${TIME}_access.log
#发送信号重新打开日志文件
kill -USR1 $(cat ${LOG_PATH}/nginx.pid)
将sh脚本加入到定时任务中,每天23:59执行
crontab -e
添加定时任务
* * * /home/sh/backups_log.sh
注意事项:
1.在没有执行kill -USR1 nginx_pid 之前,即便已经对文件执行了mv命令也只是改变了文件的名称,nginx还是会向新命名的文件中照常写入日志数据。原因在于linux系统中,内核是根据文件描述符来找文件的
2.添加定时任务后如果定时任务没有起作用,则使用 ps -aux | grep cron 确认下服务是否已经开启
3. -USR1 是进程间通信的信号中的一种,至于nginx进程接收到该信号做什么操作是它内部定义的,除此之外我们可以使用 kill -l 确认liunx中包含哪些信号
最新文章
- 【初学python】使用python调用monkey测试
- Red Hat5.5 install Generic mysql-5.7.10
- JScrollBar
- 自已实现的async 只实现了一部分功能
- zw版_zw中文增强版Halcon官方Delphi例程
- Unity NGUI 网络斗地主 -发牌 脚本交互
- Android智能手机屏蔽电话与屏蔽安装软件功能
- BZOJ 1529: [POI2005]ska Piggy banks( 并查集 )
- 8天玩转并行开发——第二天 Task的使用
- Arcgis for Javascript之featureLayer图和属性互操作性
- [置顶] Ants(Northeastern Europe 2007)
- Servlet源码初探
- ABP入门系列(19)——使用领域事件
- 【Python】 日志管理logging
- HashMap方法介绍
- linux su失败:无法设置用户ID:资源暂时不可用
- Zabbix常见触发器表达式
- 玩转postman(一)-----基础
- 6款漂亮HTML CSS样式用户留言表单
- python-kafka之理论篇