• nginx定时备份access访问日志并重启nginx


    用.sh脚本写了备份日志脚本 其实就是转移文件改名后重新建一个空文件

    mv /alidata/log/nginx/access/wxtest.log /alidata/log/nginx/access/wxtest_log/wxtest_log_$(date +%Y%m%d-%H%M%S).log
    touch /alidata/log/nginx/access/wxtest.log

    但是这样的话 nginx不能立即认识这个新文件 需要服务器重新加载一下配置 或者杀掉子进程 由于杀子进程有风险 所以这里采用平滑重启nginx的方法 nginx -s reload

    但是crontab -e 定时任务执行sh脚本的时候必须采用绝对路径的服务地址所以必须知道nginx服务的绝对路径

    一般nginx的服务绝对路径地址是local那直接这样写就行 

    /usr/local/nginx/sbin/nginx -s reload

    但是由于不同服务器部署位置不一致 比如我们的测试服务器地址为 alidata/server/nginx-1.4.4/sbin/nginx

    所以整体就这样写了sh脚本

    mv /alidata/log/nginx/access/wxtest.log /alidata/log/nginx/access/wxtest_log/wxtest_log_$(date +%Y%m%d-%H%M%S).log
    touch /alidata/log/nginx/access/wxtest.log
    /alidata/server/nginx-1.4.4/sbin/nginx -s reload

    而定时任务的crontab -e中这样写

    0 2 * * * /alidata/log/nginx/back_log.sh ###每天2个小时将wxtest.log 重新建立并将日志按照时分秒挪到wxtest_log文件夹中 并平滑重启nginx

  • 相关阅读:
    SPSS分类分析:决策树
    单例设计模式
    设计模式
    java.lang.NoClassDefFoundError: org/apache/zookeeper/proto/SetWatches
    AngularJs中Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/
    如何在linux环境下配置环境变量
    MQ的面试题
    VUE框架
    SQL中and和or的区别是?
    Git的工作流程
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/5577742.html
Copyright © 2020-2023  润新知