利用crontab实现nginx日志按日期保存
情景
nginx日志默认保存到access.log 和error.log中,每个请求和错误都会被记录下来,但访问量大或时间久了,日志文件将会
非常大,分析日志将十分困难。因此是否有种简单的方法可以实现日志按日期输出呢?linux自带了一个可以定时执行的工具
crontab可以帮助我们轻松实现这个功能。
环境
本案例中nginx保存日志的目录如下:
access.lg 和 error.log 是默认的日志保存位置,log-history 文件夹保存历史日志,格式为: 日期-日志类型.log
├── log
│ ├── access.log
│ ├── error.log
│ └── log-history
│ ├── 20190603-access.log
│ ├── 20190603-error.log
│ └── newlog.sh
实现方法
1.编写newlog.sh
newlog.log 主要功能是将今天的日志剪切到log-history下的一个特定名字的文件下,然后重新加载配置。
需要使用这个脚本时字需要改变logroot的值计科。
#!/bin/bash
logroot="/home/ubuntu/Nginx/log"
hisroot=$log