#!/bin/sh

while true
do
  [ "$1" = "loop" ] && sleep $((24 * 3600 - (`date +%_H` * 3600 + `date +%_M` * 60 + `date +%_S`)))
  ts=$(date +%Y%m%d_%H%M%S)
  mv /var/log/nginx/access.log /var/log/nginx/access.$ts.log
  mv /var/log/nginx/error.log /var/log/nginx/error.$ts.log
  kill -USR1 `cat /var/run/nginx/nginx.pid`
  sleep 1
  gzip /var/log/nginx/access.$ts.log
  gzip /var/log/nginx/error.$ts.log
  find /var/log/nginx/ -name "*.gz" -mtime +32 -delete
  [ "$1" != "loop" ] && break
done