nginx学习(三) 使用shell命令和linux定时任务完成nginx日志管理

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/qq_35367612/article/details/86069112

1.编写shell脚本

  • 创建shell脚本目录和脚本 mkdir /data cd /data vim runlog.sh
  • 编写脚本
# /bin/bash
LOGPATH=/usr/local/nginx/logs/zcom.access.log //日志文件
BASEPATH=/data //日志切换目录

bak=$BASEPATH/$(date -d yesterday +%Y%m%d%H%M).zcom.access.log //切换后日志目录+名称
#echo $bak //查看值

mv $LOGPATH $bak //移动目录
touch $LOGPATH   //创建新文件

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` //更新nginx目录节点

2.编写定时任务

  • 打开定时任务 crontab -e
  • 编写定时任务:
*/1 * * * * sh /data/runlog.sh //分 时 日 月 周 命令

3.修改脚本 支持按月分类

LOGPATH=/usr/local/nginx/logs/zcom.access.log //日志文件
BASEPATH=/data/$(date -d yesterday +%Y%m%) //日志切换目录

bak=$BASEPATH/$(date -d yesterday +%d%H%M).zcom.access.log //切换后日志目录+名称
#echo $bak //查看值

mkdir $BASEPATH //创建月份目录
mv $LOGPATH $bak //移动目录
touch $LOGPATH   //创建新文件

kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` //更新nginx目录节点

猜你喜欢

转载自blog.csdn.net/qq_35367612/article/details/86069112