广告位联系
返回顶部
分享到

分割nginx日志的实现(避免日志多大)

nginx 来源:互联网 作者:佚名 发布时间:2024-04-17 22:05:19 人浏览
摘要

1. 问题提出 nginx的日志没有切分,会非常大,不利于日志的删除和查看 2. 解决思路 写一个脚本,去切分日志 使用crontab写一个定时任务,每天切一个。 3. 解决流程 脚本时别人的,拿过来用。

1. 问题提出

nginx的日志没有切分,会非常大,不利于日志的删除和查看

在这里插入图片描述

2. 解决思路

  • 写一个脚本,去切分日志
  • 使用crontab写一个定时任务,每天切一个。

3. 解决流程

脚本时别人的,拿过来用。

3.1 新建切割日志的脚本/opt/sh/cutlogs.sh

内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

#!/bin/bash

 

# 指定日志和切割后日志备份的目录

YEAR=$(date +%Y)

MONTH=$(date +%m)

DAY=$(date +%d)

YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

LOGS_PATH=/data/docker/saber/logs

LOGS_BAK_PATH=/data/docker/saber/logs-bak

 

# 得到1级目录名

if [[ $(($DAY)) -eq 1 ]]

  then

    if [[ $(($MONTH)) -eq 1 ]]

      then

        LOGS_BAK_PATH=$LOGS_BAK_PATH/$((${YEAR}-1))-12

    else

      if [[ $(($MONTH)) -gt 10 ]]

        then

          LOGS_BAK_PATH=$LOGS_BAK_PATH/${YEAR}-$((${MONTH}-1))

      else

          LOGS_BAK_PATH=$LOGS_BAK_PATH/${YEAR}-0$((${MONTH}-1))

      fi

    fi

else

    LOGS_BAK_PATH=$LOGS_BAK_PATH/${YEAR}-${MONTH}

fi

 

# 创建目录

mkdir -p $LOGS_BAK_PATH/${YESTERDAY}

 

# 复制当前的日志文件到备份的目录

cp ${LOGS_PATH}/access.log ${LOGS_BAK_PATH}/${YESTERDAY}/access_${YESTERDAY}.log

#cp ${LOGS_PATH}/admin_access.log ${LOGS_BAK_PATH}/${YESTERDAY}/admin_access_${YESTERDAY}.log

cp ${LOGS_PATH}/error.log ${LOGS_BAK_PATH}/${YESTERDAY}/error_${YESTERDAY}.log

 

# 清空日志

> ${LOGS_PATH}/access.log

#> ${LOGS_PATH}/admin_access.log

> ${LOGS_PATH}/error.log

3.2 写crontab定时任务

1

crontab -e

打开crontab

写入任务,每天1点跑定时任务:

1

0 1 * * * sh /opt/sh/cutlogs.sh >> /opt/sh/cutlogs.log

3.3 结果

结果如下:

日志全部在/data/docker/saber/logs-bak目录下

在这里插入图片描述

logs-bak下面是月

在这里插入图片描述

月下面是天

在这里插入图片描述

天下面是文件

在这里插入图片描述

4. 总计

  • 使用脚本去做切分
  • 使用定时器去每天跑脚本。

版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计