说明:nginx的access.log日志会对每个页面的每一个请求都记录的,日积月累会导致日志文件非常大,为了避免nginx写日志时造成性能的损失,access.log切分是需要的,以下是通过shell脚本+linux的定时任务进行的一个平滑切分。不需要重启nginx进程。
代码cut_logs.sh
#!/bin/bash
log_path=/Data/apps/nginx/logs/access.log
save_path=/Data/apps/nginx/logs/bak/access_$(date +%Y%m%d -d 'yesterday').log
cp $log_path $save_path && echo > $log_path
设置定时任务
$ crontab -e
#输入
0 0 * * * /usr/bin/sh cut_logs.sh #每天的00:00执行日志切分
$ crontab -l #查看定时任务是否添加成功
网友评论