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

Ein genauerer Blick auf die Unterschiede zwischen Link und @import

Es gibt drei Hauptmethoden, CSS auf einer Seite zu...

So ändern Sie die Apt-Get-Quelle in Ubuntu 18.04

Bei Verwendung von apt-get zur Installation ist d...

Änderung des Zeitzonenproblems von MySQL-Containern in Docker

Vorwort Als Ahhang das Springboot-Projekt entwick...

Grafisches Tutorial zur MySQL 5.7-Konfiguration ohne Installation

Mysql ist eine beliebte und einfach zu bedienende...

Analyse der vier Transaktionsisolationsstufen in MySQL anhand von Beispielen

Vorwort Um bei Datenbankoperationen die Richtigke...

Perfekte Lösung für das Zeitzonenproblem des Docker Alpine-Image

Als ich kürzlich Docker zum Bereitstellen einer J...

Das Linux-System verbietet den Remote-Login-Befehl des Root-Kontos

PS: So deaktivieren Sie die Remote-Anmeldung des ...

Browserübergreifender lokaler Speicher Ⅰ

Originaltext: http://www.planabc.net/2008/08/05/u...

Schritte der Docker-Lernmethode zum Erstellen des ActiveMQ-Nachrichtendienstes

Vorwort ActiveMQ ist der beliebteste und leistung...

Einführung in RHCE-Bridging, passwortfreie Anmeldung und Portnummernänderung

Inhaltsverzeichnis 1. Konfigurieren Sie Bridging ...

vue verwendet Ele.me UI, um die Filterfunktion von Teambition zu imitieren

Inhaltsverzeichnis Problembeschreibung Die allgem...

Teilen Sie 8 CSS-Tools zur Verbesserung des Webdesigns

Wenn das Website-Design bearbeitet oder geändert ...