1. uwsgi文件配置
uwsgi.ini 文件添加如下字段
# 实时日志输出目录
daemonize = /usr/web/uwsgi.log
# 设置一个监听对象 启动后会自动创建
touch-logreopen = /usr/web/.touchforlogrotat
2. 创建 .sh文件按天存储日志
#!/bin/bash
LOGDIR="/usr/web/" # 实时日志所在的根目录
DATE=`date -d "yesterday" +"%Y-%m-%d"`
NEWDIR="/usr/web/logs/" # 分割后的日志存储目录 想存在哪就写那的根目录
mkdir -p ${NEWDIR}
mv ${LOGDIR}/uwsgi.log ${NEWDIR}/uwsgi-${DATE}.log #将旧日志重新以日期命名
touch /usr/web/.touchforlogrotat # 这个和uwsgi的 touch-logreopen 目录保持一致
3. 创建Crontab定时任务
查看任务列表
crontab -e
编写定时任务
0 0 * * * sh 文件路径 # 例如: /usr/web/cut_log.sh
4. 完成测试
可以先手动执行一次.sh脚本,如果执行成功那么就没问题,重启uwsgi服务即可