原始access.log不可能一直写入,因为这个会导致这个文件越来越 大从而影响到读取的效率,因此定时的对这个原始access.log的文件进行切割。
log_file=/opt/apps/collect-app/logs/collect-app.access.log
data_dir=/opt/apps/collect-app/logs/data/
pid_file=/opt/apps/collect-app/logs/nginx.pid
# 切之前判断是否是一个空文件,有数据才切割
# 读取指定文件的最后一行
line=`tail -n 1 ${log_file}`
if [ ! "${line}" ];then
echo "Warning: access log is empty, do not split!!!"
exit 0
fi
# 切割
mv ${log_file} ${data_dir}/collect.access.$(date +"%s").log
# 生成一个新的collect-app.access.log,向nginx发送一个USR1的信号,重新创建一个日志文件
kill -USR1 `cat ${pid_file}`