crontab设置定时任务
'''
* * * * * 执行任务
第一个* 一小时当中的第几分钟:0-59
第二个* 一天当中的第几个小时:0-23
第三个* 一月当中的第几天:1-31
第四个* 一年当中的第几个月:1-12
第五个* 一周当中的第几个星期:0-7 0,7都代表周日
'''
0 0 * * * sh /xxx/xxx/touchforlogrotate.sh #代表每天0点执行脚本 touchforlogrotate.sh
Linux下的命令
$crontab -e 进入编辑页
$a 进入编辑
输入 0 0 * * * sh /xxx/xxx/touchforlogrotate.sh
按control + c 完成编辑
按shift + : 输入 wq 保存退出
uwsgi.ini配置
其他省略...
# 指定监听文件,修改后重新打开日志
touch-logreopen = /项目路径/script/.touchforlogrotate
# 设置日志目录 每天创建一个日志
log-reopen = true
touchforlogrotate.sh配置
#!/bin/bash
# .sh根目录
DIR=`echo $(cd "$(dirname "$0")"; pwd)`
# 准备存放日志的目录文件夹
LOGDIR="${DIR}/logs"
# 源目标日志
sourcelogpath="${DIR}/uwsgi.log"
# 移动后准备创建的日志
touchfile="${DIR}/uwsgi.log"
# 准备创建的空白语句,uwsgi.ini监听这里
logwrite="${DIR}/.touchforlogrotate"
# 日志的时间格式化
DATE=`date -d "yesterday" +"%y%m%d"`
# 移动后的日志名称
destlogpath="${LOGDIR}/uwsgi-${DATE}.log"
# 移动
mv $sourcelogpath $destlogpath
# 创建新的日志
touch $touchfile
# 调用引起uwsgi.ini监听
touch $logwrite
网友评论