#!/bin/bash
#
#
vhost=test1 ##定义虚拟主机的目录名
log_path=/web/vhost/logs #指定日志文件要保存位置
access_log_path=/web/vhost/${vhost}/logs #指定access日志所在路径
mkdir -p ${log_path}/$(date -d "yesterday" +"%y")/$(date -d "yesterday" +%m)/ ## 创建日期目录,date -d "yesterday" +"%y"获取年份后面那个是获取月份
mv ${access_log_path}/${vhost}.access.log ${log_path}/$(date -d "yesterday" +"%y")/$(date -d "yesterday" +%m)/$(date -d "yesterday" +%d).${vhost}.access.log ## 这里将访问日志文件移动到备份的目录中如:/web/vhost/logs/14/12/28.test1.access.log
nginx -s reload ##这里我的nginx在编译的时候使用--sbin-path=/usr/sbin/nginx这个参数了所以我可以直接使用nginx如果没有使用此参数请一定要将你的nginx安装目录下的sbin目录添加至系统环境变量中。
然后将这个脚本文件放到nginx的配置目录下添加定时计划
mkdir /usr/local/nginx/bin && mv logs.sh /usr/local/nginx/bin/logs.sh
crontab -e
00 00 * * * /bin/bash /usr/local/nginx/bin/logs.sh
这样在每天的夜晚12点就会自动创建备份文件了,如果要对错误日志也每天备份的话按照上面的内容修改即可。
--------------------------------------分割线 --------------------------------------
CentOS 6.2实战部署Nginx+MySQL+PHP
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块
CentOS 6.4安装配置Nginx+Pcre+php-fpm
--------------------------------------分割线 --------------------------------------