How to run a shell script on every request?
J Carter
jordanc.carter at outlook.com
Sun Aug 27 07:01:30 UTC 2023
+1 on "why are you doing this?".
However, to answer the question - rather than spawning a new shell for every
request, use a loop in your bash script that is driven by access log output.
For example.
tail -n0 -f /var/log/nginx/access.log | \
while read;
do echo "one request";
done;
You'll need to handle what happens when log rotation takes place.
On Fri, 18 Aug 2023 21:39:13 -0400
Jeff Dyke <jeff.dyke at gmail.com> wrote:
> Can you explain why? I would never tie a script to a request. I post
> process logs all of the time. If it needs to be in the application, don't
> force it into Nginx.
>
> Strong statement, but would love to hear why?
>
> On Fri, Aug 18, 2023 at 9:47 AM Kaushal Shriyan <kaushalshriyan at gmail.com>
> wrote:
>
> > Hi,
> >
> > I am running nginx version: nginx/1.24.0 on CentOS Linux release 7.9.2009
> > (Core)
> >
> > # nginx -v
> > nginx version: nginx/1.24.0
> > # cat /etc/redhat-release
> > CentOS Linux release 7.9.2009 (Core)
> > #
> >
> > I want to run a shell script every time my nginx server receives any HTTP
> > request. Any simple ways to do this?
> >
> > Please guide me. Thanks in Advance.
> >
> > Best Regards,
> >
> > Kaushal
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > https://mailman.nginx.org/mailman/listinfo/nginx
> >
More information about the nginx
mailing list