Linux verwendet Shell-Skripte, um historische Protokolldateien regelmäßig zu löschen

Linux verwendet Shell-Skripte, um historische Protokolldateien regelmäßig zu löschen

1. Dateistruktur des Tools-Verzeichnisses

[root@www-Tools]# Baum-Tools/
Werkzeuge/
├── bin
│ ├── del_history_files
│ 
└── usw.
  ├── del_history_files.cfg
 
2 Verzeichnisse, 2 Dateien

2. Verlaufsdatei löschen Skript del_history_files

[root@www tools]# weitere Tools/bin/del_history_files
#!/bin/sh
 
# Dateien im angegebenen Verzeichnis löschen, deren Dateizeit vor dem angegebenen Zeitknoten liegt. Zeitgranularität: Stunden# Konfigurationsdateiformat: Zu bereinigendes Verzeichnis = Anzahl der Stunden#
#
# eingeschränkten Pfad definieren
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
 
# adirname – gibt den absoluten Verzeichnisnamen einer gegebenen Datei zurück
adirname() { odir=`pwd`; cd `dirname $1`; pwd; cd "${odir}"; }
 
 
# ---------
# Konstanten
# ---------
MYNAM=`Basisname "$0"`
MYDIR=`adirname "$0"`
MYCFG="${MYDIR}/../etc/${MYNAM}.cfg"
MYTMP="${MYDIR}/../tmp"
MYLCK="${MYTMP}/${MYNAM}.lock"
 
# einige Sperren durchführen (so gut wie es in einer Shell geht)
[ -s "${MYLCK}" ] && kill -0 `cat "${MYLCK}"` 2>/dev/null &&
    die "${MYNAM}: läuft bereits!"
echo "$$" > "${MYLCK}"
 
PFADE=(`cat ${MYCFG}`)
für PP in ${PATHS[@]}
Tun
  APP_PATH=`echo ${PP} | awk -F'=' '{print $1}'`
  N=`echo ${PP} | awk -F'=' '{print $2}'`
    wenn [ -d ${APP_PATH} ] ; dann
    T=`/bin/date --date "vor ${N} Stunden" "+%Y%m%d%H%M"`
    TMP_FILE="/tmp/`echo ${PP} | md5sum | awk '{print $1}'`"
    touch -t ${T} ${TMP_FILE}
    Suche ${APP_PATH} ! -newer ${TMP_FILE} -type f -print0 | xargs -0 -n 100 rm -rf
    finde ${APP_PATH} -Typ d -empty -print0 | xargs -0 -n 100 rm -rf &> /dev/null
    fi
Erledigt
 
rm -rf ${MYLCK}

3. Löschen Sie die Konfigurationsdatei del_history_files.cfg des History-File-Skripts

[root@www tools]# weitere tools/etc/del_history_files.cfg
#Zu bereinigendes Verzeichnis = Anzahl der Stunden /home/logs/nginx=720
/home/Protokolle/varnish=720

4. Führen Sie crontab aus

[root@www tools]# mehr /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=Stamm
HOME=/
#alte Protokolle löschen
00 6 * * * root /home/tools/bin/del_history_files

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Skript zum regelmäßigen Löschen von Dateien, die älter als ein bestimmter Tag sind, in Windows und Linux
  • Automatisches Sichern von Oracle-Datenbanken mithilfe von Skripten in Linux und Löschen von Sicherungen, die älter als eine bestimmte Anzahl von Tagen sind
  • Linux: Ungültige Linkdatei löschen, Skriptfreigabe
  • Ideen und Tests für benutzerdefinierte Linux-Skripte, um versehentliches Löschen zu verhindern

<<:  React+axios implementiert die Suchbenutzerfunktion von GitHub (Beispielcode)

>>:  Zusammenfassung der in MySQL häufig verwendeten Verkettungsanweisungen

Artikel empfehlen

So beheben Sie den MySQL-Fehler 10061

In diesem Artikel erfahren Sie die Lösung für das...

So vereinheitlichen Sie den Zeichensatz einer vorhandenen MySQL-Datenbank

Vorwort In der Datenbank sind einige Datentabelle...

So legen Sie die Position des Blockelements in der Mitte des Fensters fest

So legen Sie die Position des Blockelements in de...

Detaillierte Erläuterung der dauerhaften Speicherung von Redis unter Docker

In diesem Kapitel beginnen wir mit dem Betrieb vo...

Zusammenfassung der 7 Fallstricke bei der Verwendung von React

Inhaltsverzeichnis 1. Komponentenaufblähung 2. Än...

Detaillierte Erläuterung des Ausführungsprozesses der JavaScript-Engine V8

Inhaltsverzeichnis 1. V8-Quelle 2. V8-Serviceziel...

Detaillierte Analyse der MySQL Master-Slave-Replikation

Vorwort: In MySQL sollte die Master-Slave-Archite...

Erläuterung der neuen Funktion von Hadoop 2.X, der Papierkorbfunktion

Durch Aktivieren der Papierkorbfunktion können Si...

Native JS-Implementierung der Slider-Intervallkomponente

In diesem Artikelbeispiel wird der spezifische Co...

Was tun, wenn Sie Ihr MySQL-Passwort vergessen?

Zweimal Ihr MySQL-Passwort vergessen? Zuerst habe...

Beispiel für utf8mb4-Sortierung in MySQL

Allgemeine utf8mb4-Sortierregeln in MySQL sind: u...

Details zur React Routing Link-Konfiguration

1. Link zum Attribut (1) Platzieren Sie den Routi...