• 05-nginx定时任务完成日志切割


    目标:每天晚上凌晨一点钟左右把昨天的任务给它切掉,把昨天的日志给它改个名存起来,根据昨天的时间给它改个名存起来,所以要根据日期生成文件名。


    也许你不会写bash脚本,但是老师带着你一步一步地来。


    shell脚本比php简单很多,主要记住它的变量如何声明就搞定了,其他没什么。

    声明你的LOGPATH在哪,因为要备份你所以得把你的路径搞清楚。

    主要的工作:把LOGPATH下的这个玩意给它重命名,拿日期重命名,拿年月日重命名会导致一个问题:得等到今天晚上十二点才能看到它日志切割的效果。这可不太妙,好在我们可以让它每分钟执行一次。


    可以把日志备份文件的文件名算出来之后,之后的工作就简单了:把原来的配置文件重命名,并且再重新建立一份新的而且是空的配置文件,最后还得给/usr/local/nginx/logs/nginx.pid发信号。kill -USR1 给/usr/local/nginx/logs/nginx.pid发信号。如果工作正确的话,应该每一分钟多出来一个日志文件。

    每一分钟将会自动执行,自动执行将会产生一个备份文件。


    不断地按F5刷新,你觉得时间过得很快时它觉得时间过得很慢。


    一天产生一个日志都摆在data下不太好。在bash脚本多创建几个目录就行,按照域,每个域一个目录就行。这个日志应该存放所在的目录,把这个目录创建出来之后,再根据时和分把日志名写出来。


    它始终都会有一个日志文件z.com.access.log,然后每天都会自动地把它备份到/data目录下。

    crontab -e定时执行任务

    crontab命令在/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。


    nginx日志的切割管理,按天切割管理。

  • 相关阅读:
    BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊(分块)
    BZOJ 4241 历史研究(分块)
    BZOJ 3110 [Zjoi2013]K大数查询(整体二分)
    hdu 5412 CRB and Queries(整体二分)
    POJ2104 K-th Number(整体二分)
    luogu P3157 [CQOI2011]动态逆序对(CDQ分治)
    陌上开花(CDQ分治)
    BZOJ 1176[Balkan2007]Mokia(CDQ分治)
    BZOJ 3626 LCA(离线+树链剖分+差分)
    bzoj1592 Making the Grade
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6534767.html
Copyright © 2020-2023  润新知