Linux下配置Nginx按天切割日志
2016-10-11 15:05
302 查看
Nginx由于轻巧和高效的设计风格,去掉了一些额外的功能,所以它不像apache那样有自动切割日志。
建立一个脚本文件,并保证这个文件有可执行的权限:
1、建立一个文件/root/log.nginx.sh(这里只是作为演示,实际上这个脚本文件你可以随意的放在哪个目录和给它取一个你喜欢的名字),在文件里面粘贴如下内容:
2、赋予这个文件可执行权限:
chmod 777 /root/log.nginx.sh
3、将这个脚本加入到crontab中去,每天0点0分执行一次:
//打开定时任务
crontab -e
//追加定时任务
0 0 * * * /root/log.nginx.sh
//查看定时任务,就会看到你添加的内容了
crontab -l
上面这个脚本的作用就是每天凌晨0点0分的时候创建一个以昨天的日期命名的文件夹,然后把/var/log/nginx/today/这个文件夹里面的日志文件全部移动到新建的文件夹里面去。today这个文件夹每天凌晨都会被清空一次,这样就实现了nginx按天切割日志的功能了。
脚本除了清空today文件夹外还会删除7天以前的日志文件,只保留最近7天的日志。
建立一个脚本文件,并保证这个文件有可执行的权限:
1、建立一个文件/root/log.nginx.sh(这里只是作为演示,实际上这个脚本文件你可以随意的放在哪个目录和给它取一个你喜欢的名字),在文件里面粘贴如下内容:
#!/bin/bash declare logs_path="/var/log/nginx"; declare need_delete_path=${logs_path}/$(date -d "7 days ago" "+%Y_%m_%d"); declare yestoday_log_path=${logs_path}/$(date -d "yesterday" "+%Y_%m_%d"); rm -rf ${need_delete_path} rm -rf ${yestoday_log_path} mv ${logs_path}/today ${yestoday_log_path} mkdir -p ${logs_path}/today /etc/init.d/nginx reload
2、赋予这个文件可执行权限:
chmod 777 /root/log.nginx.sh
3、将这个脚本加入到crontab中去,每天0点0分执行一次:
//打开定时任务
crontab -e
//追加定时任务
0 0 * * * /root/log.nginx.sh
//查看定时任务,就会看到你添加的内容了
crontab -l
上面这个脚本的作用就是每天凌晨0点0分的时候创建一个以昨天的日期命名的文件夹,然后把/var/log/nginx/today/这个文件夹里面的日志文件全部移动到新建的文件夹里面去。today这个文件夹每天凌晨都会被清空一次,这样就实现了nginx按天切割日志的功能了。
脚本除了清空today文件夹外还会删除7天以前的日志文件,只保留最近7天的日志。
相关文章推荐
- linux编译安装及配置Nginx(包含pcre), 日志定时切割
- Linux下nginx生成日志自动切割
- 虚拟主机ip配置,nginx.conf文件配置及日志文件切割
- Linux下nginx日志自动切割
- Nginx实战(三) 日志配置与切割
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
- nginx日志切割配置
- Nginx实战(三) 日志配置与切割
- Linux下,nginx如何切割访问日志?
- Nginx实战(三) 日志配置与切割
- Nginx日志文件配置与切割
- Nginx日志文件配置与切割
- nginx日志切割,日志格式,静态文件不记录日志,配置缓存
- Linux系统下nginx日志每天定时切割的脚本写法
- 配置 Nginx 自动切割日志
- Linux下Nginx如何切割访问日志?
- linux下nginx日志切割
- Nginx配置——日志切割
- Linux下添加shell脚本使得nginx日志每天定时切割压缩 推荐
- nginx常用配置实例(虚拟主机,防盗链,日志切割)