Das Shellskript zählt regelmäßig den PV von access.log unter Nginx und sendet ihn an die API und speichert ihn in der Datenbank

Das Shellskript zählt regelmäßig den PV von access.log unter Nginx und sendet ihn an die API und speichert ihn in der Datenbank

1. Statistiken zu PV und IP

Zählen Sie die PV (Page Views) des Tages

cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l

Zählen Sie den PV eines bestimmten Tages

cat access.log | sed -n '/20\/Sep\/2018/p' | wc -l

Sehen Sie sich die Top 10 der IP-Adressen mit den meisten Besuchen im Protokoll an

cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10

Sehen Sie sich die Top 10 IP-Adressen mit mehr als 1.000 Besuchen im Protokoll an

cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{if($1>1000) print $0 }' | head -n 10

2. curl sendet Daten

Senden einer GET-Anfrage mit curl

curl http://127.0.0.1:8080/login?admin&passwd=12345678

Senden einer POST-Anfrage mit curl

curl -d "Benutzer=admin&passwd=12345678" http://127.0.0.1:8080/login

Senden Sie JSON-Daten mit curl

curl -H "Inhaltstyp:application/json" -X POST -d '{"Benutzer": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login

Senden einer dynamischen Parameter-POST-Anforderung mit curl

curl -i -X ​​​​POST -H "'Inhaltstyp':'application/json'" -d '{"ATime":"'$atime'","BTime":"'$btime'"}' $url
curl -i -X ​​​​POST -H "'Inhaltstyp':'application/json'" -d '{"ATime":"'${atime}'","BTime":"'{$btime}'"}' ${url}

3. Shell-Skript-Statistiken und Senden

#!/bin/bash
log_path=/var/log/nginx/access.log
Domäne="http://127.0.0.1:8080/data/count"
log_date = `Datum "+%d/%b/%Y"`
echo ${log_date}
total_visit=`Katze ${log_path} | grep $log_date|wc -l`
curl -d "Anzahl=${total_visit}" ${Domain}
echo $gesamtbesuch

4. Der Server akzeptiert und speichert es in der Datenbank

@RequestMapping(Wert = "/Anzahl")
  öffentliche void-Anzahl (Zeichenfolge-Anzahl) {
  //Geschäftscode}

Zusammenfassen

Das Obige ist das Shell-Skript, das ich Ihnen vorgestellt habe. Es zählt regelmäßig den PV von access.log unter Nginx und sendet ihn an die API, um ihn in der Datenbank zu speichern. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Shell-Skript Nginx-Automatisierungsskript
  • Beispielcode zum Aufteilen von Nginx-Protokollen mithilfe eines Shell-Skripts
  • Shell-Skript zum stapelweisen Löschen des Nginx-Cache
  • Shell-Skript zum Schneiden von Nginx-Protokollen
  • Detaillierte Erklärung zum Einfügen gängiger Nginx-Befehle in Shell-Skripte

<<:  Detailliertes Tutorial zur Installation und Konfiguration von MySql 5.7.17 winx64

>>:  Natives JS implementiert ein Minesweeper-Spiel mit benutzerdefiniertem Schwierigkeitsgrad

Artikel empfehlen

React realisiert sekundären Verknüpfungseffekt (Treppeneffekt)

In diesem Artikel wird der spezifische Code von R...

Implementierung der Docker-Compose-Bereitstellung des ZK+Kafka+Storm-Clusters

Übersicht über die Clusterbereitstellung 172.22.1...

MySQL-Prozesssteuerung: IF()-, IFNULL()-, NULLIF()-, ISNULL()-Funktionen

In MySQL können Sie die Funktionen IF(), IFNULL()...

Details zu Linux-Dateideskriptoren, Dateizeigern und Inodes

Inhaltsverzeichnis Linux - Dateideskriptor, Datei...

Detailliertes Tutorial zur Installation von mysql5.7.18 auf centos7.3

1 Überprüfen Sie die Linux-Distributionsversion [...

Zusammenfassung der Web-Frontend-Kenntnisse (persönliche praktische Erfahrung)

1. Als ich heute eine Seite erstellte, stieß ich a...

Erstellen, Einschränkungen und Löschen von Fremdschlüsseln in MySQL

Vorwort Ab MySQL-Version 3.23.44 unterstützen Inn...

So deinstallieren und installieren Sie Tomcat neu (mit Bildern und Text)

Deinstallieren Sie tomcat9 1. Da die Installation...

So stellen Sie Confluence und Jira-Software in Docker bereit

Version: centos==7.2 jdk==1.8 Zusammenfluss == 6....

Detailliertes Tutorial zur Installation von MySQL 8.0.12 unter Windows

In diesem Artikel finden Sie eine ausführliche An...