diff --git a/access_logd b/access_logd new file mode 100644 index 0000000..c7ba0e5 --- /dev/null +++ b/access_logd @@ -0,0 +1,16 @@ +#!/bin/sh + +# Fail if there's no database +test -n "$DATABASE" || exit 1 + +# Remove access.log and recreate it as a fifo +rm -f /var/log/nginx/access.log /run/access_log.pid +mkfifo /var/log/nginx/access.log +chmod 755 /var/log/nginx/access.log + +# Reopen log file +nginx -s reload + +# Read from fifo and load into database +daemonize -p /run/access_logd.pid -u nobody \ + /bin/sh -c "cat /var/log/nginx/access.log | access_log --database=$DATABASE"