百度了很多文章,大部分都是使用touch,不过我没有测试成功,下面是自己测试成功的方法
1.使用shell脚本加定时任务实现自动切割
[root@iZbp1d3d8a5mc9mafifpc1Z hk_back_HQ]# cat touchforlogrotate.sh
#!/bin/bash
#当前目录
DIR=`echo $(cd "$(dirname "$0")"; pwd)`
#日志文件备份的位置
LOGDIR="${DIR}/logs"
#需要备份的日志文件
sourcelogpath="${DIR}/supervisor_error.log"
#日期格式
DATE=`date -d "yesterday" +"%Y%m%d"`
#备份后的文件名称地址
destlogpath="${LOGDIR}/uwsgi.${DATE}.log"
#将当前文件复制到要备份的地址
cp -r $sourcelogpath $destlogpath
#清空当前的日志文件
cat /dev/null > $sourcelogpath
2.使用crontab设置定时任务
crontab -e
#每天晚上12点定时切割日志
0 0 * * * /home/log-touchforlogrotate/supervisor-touchforlogrotate.sh