Nginx Nginx主机配置日志分割日志自动备份

Posted Sonder.J

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx Nginx主机配置日志分割日志自动备份相关的知识,希望对你有一定的参考价值。

Nginx主机配置、日志分割、日志自动备份

一 主机配置以及按主机分割日志文件

1.在目录/usr/local/nginx/conf下 修改nginx.conf文件的server节点,并添加一个新的server节点

2.因为使用了nginx默认的全局日志格式(main),这个日志格式默认是注释掉的,需要再nginx.conf中放开。

3.创建www.solr.com以及www.hadoop.com两个主机欢迎页面根节点文件夹以及文件。

切换到Nginx的安装目录下,复制Nginx默认的欢迎页面根节点以及html文件并修改即可。

 1 #切换到安装目录
 2 cd /usr/local/nginx
 3 #拷贝文件
 4 cp -r html/ solr/
 5 cp -r html/ hadoop/
 6 cd hadoop/
 7 #修改文件名称
 8 mv index.html hadoop.html
 9 #编辑文件
10 vim hadoop.html

同上,修改www.solr.com节点的html文件以及文件内容。

再本机host文件里面添加 域名与IP映射

192.168.43.111 www.solr.com
192.168.43.111 www.hadoop.com

  

4.重启Nginx进行验证

日志按主机的分割

 二 使用Linux Crontab命令与shell实现日志的自动备份

1.书写如下图所示shell并保存到/usr/local/nginx/sbin目录下

 1 #!/bin/sh
 2 #基本路径
 3 BASE_DIR=/usr/local/nginx
 4 #基本文件名称
 5 BASE_FILE_NAME=solr.log
 6 #/usr/local/nginx/logs
 7 CURRENT_PATH=$BASE_DIR/logs
 8 #/usr/local/nginx/baklogs
 9 BAK_PATH=$BASE_DIR/baklogs
10 #/usr/local/nginx/logs/solr.log
11 CURRENT_FILE=$CURRENT_PATH/$BASE_FILE_NAME
12 #备份文件的时间
13 BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M`
14 #备份文件
15 BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
16 #输出文件名称
17 echo $BAK_FILE
18 #停止Nginx服务
19 $BASE_DIR/sbin/nginx -s stop
20 #移动日志文件
21 mv $CURRENT_FILE $BAK_FILE
22 #启动Nginx服务
23 $BASE_DIR/sbin/nginx

2.创建baklogs.sh中备份文件的路径

1 cd /usr/local/nginx
2 mkdir baklos

 

3.给baklogs.sh文件添加权限

1 chmod 777 baklogs.sh 

 

4.配置Linux定时任务

 

5.效果

 

以上是关于Nginx Nginx主机配置日志分割日志自动备份的主要内容,如果未能解决你的问题,请参考以下文章

Nginx:日志配置与日志定时分割备份

nginx--基于crond定时服务+shell脚本实现nginx日志自动清理及备份

Nginx 日志管理 日志自动备份

nginx 日志分割压缩

Nginx 日志自动分割

nginx实现按日期进行日志分割