linux shell:nginx日志切割脚本
2016-02-22 13:58
113 查看
需求原因:nginx不具备日志切割功能,日志量较大,方便分析。
实现目的:完成nginx日志切割,并根据时间命名
简要命令:
mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log
kill -USER1 Nginx主进程号。
解释:
通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx需要写新的日志,
不然nginx不会在mv之后继续写日志。
我们可以通过nginx.pid文件来获取nginx的主进程号。
kill -USER1`cat /usr/local/tengine/logs/nginx.pid`
详细脚本如下:
#######################################################################
#!/bin/bash
logs_bak_path="/usr/local/tengine/logs/wanbu_nginx_log"
logs_path="/usr/local/tengine/logs"
TIME=`date "+%Y-%m-%d"`
mv $logs_path/wanbu.access.log $logs_bak_path/wanbu.access.$TIME.log
kill -USER1`cat /usr/local/tengine/logs/nginx.pid`
实现目的:完成nginx日志切割,并根据时间命名
简要命令:
mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log
kill -USER1 Nginx主进程号。
解释:
通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx需要写新的日志,
不然nginx不会在mv之后继续写日志。
我们可以通过nginx.pid文件来获取nginx的主进程号。
kill -USER1`cat /usr/local/tengine/logs/nginx.pid`
详细脚本如下:
#######################################################################
#!/bin/bash
logs_bak_path="/usr/local/tengine/logs/wanbu_nginx_log"
logs_path="/usr/local/tengine/logs"
TIME=`date "+%Y-%m-%d"`
mv $logs_path/wanbu.access.log $logs_bak_path/wanbu.access.$TIME.log
kill -USER1`cat /usr/local/tengine/logs/nginx.pid`
相关文章推荐
- shell中后台运行函数
- shell十三问
- PowerShell脚本写的文件.ps1文件介绍
- 详细介绍如何在win7下首次实现通过Git bash向Github提交项目
- shell查询当前时间
- shell出现syntax error near unexpected token `<' 解决方法
- 第17篇 shell编程基础(2)
- shell之并行
- linux下shell中的set命令
- shell编程之文本与日志过滤
- 执行shell脚本提示“syntax error near unexpected token for((i=0;i<$length;i++))”
- ubuntu 添加开机启动项
- shell脚本远程查看服务器运行时间(不切换到远程服务器上)
- 0221自学Linux_bash全局配置+个人配置+命令(useradd,finger,groupadd相关,chage,chown,chmod,umask)
- raid及mdadm命令之一(含shell显示字体颜色等)
- Shell备份数据库脚本编写
- js实现shell排序
- shell中空格的用法
- Android 使用Shell脚本截屏并自动传到电脑上
- shell 修改文件的用户权限,如果文件不存在,提示不存在