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

Zusammenfassung der MySQL-Datenmigration

Inhaltsverzeichnis Vorwort: 1. Über die Datenmigr...

Anweisungen zur Verwendung von JSON-Operationsfunktionen in Mysql5.7

Vorwort JSON ist ein leichtes Datenaustauschforma...

Spezifische Verwendung des Linux-Befehls „dirname“

01. Befehlsübersicht dirname - entfernt nicht zu ...

Eine audiovisuelle Linux-Distribution, die Audiophile anspricht

Ich bin kürzlich auf das Audiovisual Linux Projec...

Detaillierte Erklärung der Kodierungsprobleme bei MySQL-Befehlszeilenoperationen

1. Überprüfen Sie die MySQL-Datenbankkodierung my...

MySQL-Ansichtsprinzipien und grundlegende Bedienungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

Detaillierte Erklärung der Linux-Systemverzeichnisse sys, tmp, usr, var!

Der Wachstumspfad vom Linux-Neuling zum Linux-Mei...

Erläuterung, ob im interaktiven Design Paging oder Laden gewählt werden soll

Der Autor dieses Artikels @子木yoyo hat ihn in seine...