宝塔-django项目-uwsgi日志太大问题

文章介绍了如何创建文件目录并设置ROOT权限,然后在logrotate.conf中配置日志转储规则,确保uwsgi.log文件每天被转储并保留一天的历史记录。同时,创建了一个touchforlogrotat.sh脚本来实现日志重命名,并设置cron计划任务定期执行该脚本,以保持日志管理的自动化。

不知道为什么我的没有生效,不知道为什么我的没有生效,不知道为什么我的没有生效.

参考 https://www.freesion.com/article/89171311448/

参考 https://blog.youkuaiyun.com/lj1404536198/article/details/81381787

创建文件目录 ROOT权限

mkdir -p /data/log/uwsgi/


touch /data/log/uwsgi/uwsgi.log

/etc/logrotate.conf 填写配置 ROOT权限

#  二选一
/data/log/uwsgi/uwsgi.log  # 原日志路径
{
    daily  # 转储形式,按天转储
    rotate 1# 保留的转储文件数量
    ifempty
    nocompress
    missingok
    copytruncate
    dateext
    dateformat .%Y%m%d  # 转储后的文件命名
    # olddir /data/log/uwsgi/  # 转储路径 
}

#  二选一
/data/log/uwsgi.log {
daily
rotate 1
dateext
missingok
notifempty
copytruncate
nocompress
sharedscripts
}

关闭项目调整uwsgi配置

在这里插入图片描述

daemonize=/data/log/uwsgi/uwsgi.log
# 使得uwsgi.log文件被转存后能继续在uwsgi.log文件中写入日志,且不会中断当前程序的执行
touch-logreopen =/data/log/uwsgi/.touchforlogrotat

创建touchforlogrotat.sh脚本.

#!/bin/bash

DIR=`echo $(cd "$(dirname "$0")"; pwd)`       #获取当前目录
LOGDIR="/data/log/uwsgi/"                   #log目录

sourcelogpath="${LOGDIR}uwsgi.log"            #log源地址
touchfile="${LOGDIR}.touchforlogrotat"       #需要touch的文件

DATE=`date -d "yesterday" +"%Y%m%d"`
destlogpath="${LOGDIR}uwsgi-${DATE}.log"     #重命名后的文件
mv $sourcelogpath $destlogpath

touch $touchfile                            # 更新文件时间戳

创建计划任务

crontab -e
0 0 * * * sh /xxxx/touchforlogrotate.sh  #  上面touchforlogrotat.sh的绝对路径.

查看执行日志

tail -f /var/log/cron.log

查看定时任务列表

crontab -l

观察

在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值