Einführung in das Batch-Cache-Löschskript von nginx proxy_cache

Einführung in das Batch-Cache-Löschskript von nginx proxy_cache

Vorwort: Ich habe zuvor den offiziellen Proxy-Cache von Nginx als statischen CDN-Cache verwendet und festgestellt, dass es ein großes Problem war, den Cache in diesem Modul zu leeren. Es kann URLs nur einzeln löschen. Aus diesem Grund habe ich ein Skript geschrieben, um den Cache stapelweise zu leeren.

Zu den Hauptmerkmalen gehören:

1. Nach Dateityp bereinigen

2. Bereinigen Sie nach bestimmten Dateinamen

3. Aufräumen nach Website-Verzeichnis

Nachfolgend sehen Sie den Skriptcode der Bash-Shell. Im Internet gibt es bereits viele ähnliche Skripte, die jedoch nicht sehr gut sind und leicht zu Fehlern führen können.

#!/bin/bash
#E-Mail: [email protected]
#Nginx Proxy_Cache-Shell-Skripte automatisch bereinigen
#Tante:Sonne~Muschel
#Datum:23.02.2017
echo -e "\n\n"
echo -n -e "\e[35;1mBitte geben Sie den spezifischen Pfad des Nginx Proxy_cache-Cache ein (Freundliche Erinnerung: Sie können die Tab-Vervollständigungsfunktion verwenden!)\e[0m\e[34;5m:\e[0m"
read -e Pfad
CACHE_DIR=$Pfad
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[32;1mBitte geben Sie die Aktion ein, die Sie löschen möchten\n1. Löschen nach Dateityp\t2. Löschen nach bestimmtem Dateinamen\t3. Löschen nach Dateiverzeichnis\n:"
Aktion lesen
   Fall $Aktion in
1)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[34;1m Bitte geben Sie den Cache-Dateityp ein, den Sie löschen möchten (Sie können mehrere Parameter durch Leerzeichen getrennt eingeben)\e[0m\e[34;5m:\e[0m"
lesen -a DATEI
für i in `echo ${FILE[*]}|sed 's/ /\n/g'`
Tun
grep -r -a \.$i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
 für j in „cat /tmp/cache_list.txt“
Tun
  rm -rf $j
  echo "$i $j erfolgreich gelöscht!"
 Erledigt
Erledigt
;;
2)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[33;1m Bitte geben Sie den spezifischen Namen der Cache-Datei ein, die Sie löschen möchten (Sie können mehrere Parameter durch Leerzeichen getrennt eingeben)\e[0m\e[34;5m:\e[0m"
lesen -a DATEI
für i in `echo ${FILE[*]}|sed 's/ /\n/g'`
Tun
grep -r -a $i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
 für j in „cat /tmp/cache_list.txt“
Tun
  rm -rf $j
  echo "$i $j erfolgreich gelöscht!"
 Erledigt
Erledigt
;;
3)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[33;1mUnterstützte Modi sind:\n1. Löschen Sie alle Caches im Store-Verzeichnis der Website: test.dd.com/data/upload/shop/store\n2. Löschen Sie alle Caches im Shop-Verzeichnis der Website: test.dd.com/data/upload/shop\e[0m\n"
echo -n -e "\e[34;1m Bitte geben Sie das spezifische Verzeichnis der Cache-Datei ein, die Sie löschen möchten\e[0m\e[34;5m:\e[0m"
lesen -a DATEI
für i in `echo ${FILE[*]}|sed 's/ /\n/g'`
Tun
grep -r -a "$i" ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
 für j in „cat /tmp/cache_list.txt“
Tun
  rm -rf $j
  echo "$i $j erfolgreich gelöscht!"
 Erledigt
Erledigt
;;
*)
echo "Eingabefehler, bitte erneut eingeben"
;;
esac

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So verbergen Sie die Versionsnummer und die Cache-Zeit von Webseiten in Nginx
  • Detaillierte Erläuterung zum Einrichten des Ressourcencaches in Nginx
  • So richten Sie statische Dateien auf dem Nginx-Cache-Server ein
  • Umgang mit Nginx und Browser-Cache
  • Beispiel für eine Nginx-Cache-Konfiguration

<<:  So verwenden Sie VUE und Canvas, um ein Thunder Fighter-Tippspiel zu implementieren

>>:  Tutorial zur Verwendung von Prepare-, Execute- und Deallocate-Anweisungen in MySQL

Artikel empfehlen

js-Version zur Realisierung der Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Wird der veraltete Docker durch Podman ersetzt?

Das Kubernetes-Team hat vor Kurzem angekündigt, d...

Detaillierte Einführung in das CSS-Prioritätswissen

Bevor wir über die CSS-Priorität sprechen, müssen...

jQuery implementiert verschachtelte Tab-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung der privaten Docker-Bibliothek

Die Installation und Bereitstellung eines private...

HTML-Tutorial: Horizontales Liniensegment in HTML

<br />Dieses Tag kann eine horizontale Linie...

Verwenden von CSS3 zum Implementieren eines Schriftfarbverlaufs

Beim Verwenden von Animation.css habe ich festges...

Vue implementiert die Frage-Antwort-Funktion

1. Schnittstelle für die Anforderung einer Antwor...

Docker-Netzwerkprinzipien und detaillierte Analyse benutzerdefinierter Netzwerke

Docker virtualisiert eine Brücke auf dem Host-Rec...

Vue+echarts realisiert gestapelte Balkendiagramme

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