i try to analyze which customers come over google ads on an product in my webshop. I think there is a competitor which clicks on these ad to reduce my daily budget.
I have a little script which sends me an e-mail when the string is founded in the active access_log from apache. The problem is now, when i execute these script with cronjob (5 min) i get everytime an e-mail with already founded strings and "old" entry. I only want to get an e-mail when there is founded a new entry.
These script send me an e-mail when the string is founded in logfile:
body="$(grep 'GET /shop/product?traffic=ads' /var/www/vhosts/domain.de/logs/access_ssl_log)" && echo "$body" | mailx -s subject info@domain.de
I need only an e-mail when there is founded a new entry.
These is a result from the mail:
80.187.125.xxx - - [23/Dec/2022:07:53:36 +0100] "GET /shop/product?traffic=ads&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE HTTP/1.0" 200 12902 "https://www.google.com/" "Mozilla/5.0 (Linux; Android 12; SM-M317F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36" 80.187.125.xxx - - [23/Dec/2022:07:53:39 +0100] "GET /shop/product?traffic=ads&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&cpnb_method=cpnbCookiesAccepted&dt=1671778418430 HTTP/1.0" 303 1162 "https://www.domain.de/shop/product?traffic=ads&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE" "Mozilla/5.0 (Linux; Android 12; SM-M317F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36" 80.187.125.xxx - - [23/Dec/2022:07:53:40 +0100] "GET /shop/product?traffic=ads&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&dt=1671778418430 HTTP/1.0" 200 12825 "https://www.domain.de/shop/product?traffic=ads&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE" "Mozilla/5.0 (Linux; Android 12; SM-M317F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36" 80.187.125.xxx - - [23/Dec/2022:07:53:52 +0100] "GET /shop/product?traffic=ads&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE&gclid=CjwKCAiAnZCdBhBmEiwA8nDQxWHlsUKiIit8p-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-SRoCqTcQAvD_BwE HTTP/1.0" 200 12825 "https://www.google.com/" "Mozilla/5.0 (Linux; Android 12; SM-M317F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36" 178.200.16.xxx - - [23/Dec/2022:11:59:33 +0100] "GET /shop/product?traffic=adsgclid=tPdadssAsddfeefdssdsd-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6QxxxxxTcQAvD_BwE&gclid=xxxx-RkkxwcOa0qrMUp9Gd2zYdp-8SKcPqbxdc6Qqt-xxxx HTTP/1.0" 200 12826 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
We see that two customers clicks to the ad. Maybe we can write every founded string into a second logfile and delete the "old" entry in live-logfile?