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

脚本时别人的,拿过来用。
内容如下:
|
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 |
|
1 |
crontab -e |
打开crontab
写入任务,每天1点跑定时任务:
|
1 |
0 1 * * * sh /opt/sh/cutlogs.sh >> /opt/sh/cutlogs.log |
结果如下:
日志全部在/data/docker/saber/logs-bak目录下

logs-bak下面是月

月下面是天

天下面是文件
