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

Tab-Effekte mit JS schreiben

In diesem Artikelbeispiel wird der spezifische Co...

Verstümmelte Zeichen und Lösungen im MySQL-Zeichensatz

Vorwort Ein Zeichensatz ist eine Reihe von Symbol...

Warum node.js nicht für große Projekte geeignet ist

Inhaltsverzeichnis Vorwort 1. Anwendungskomponent...

Lösung zum Verlassen von Lücken zwischen BootStrap-Rastern

Inhaltsverzeichnis [Siehe ein Beispiel]: [Der urs...

Die MySQL-Partitionstabelle ist nach Monaten klassifiziert

Inhaltsverzeichnis Erstellen einer Tabelle Zeigen...

Einführung in geplante Aufgaben im Linux-System

Inhaltsverzeichnis 1. Planaufgaben anpassen 2. Ze...

Gestaltung von Popup-Fenstern und schwebenden Ebenen im Webdesign

Im Zuge des schrittweisen Übergangs von herkömmli...

So verwenden Sie einen Docker-Container für den Zugriff auf das Host-Netzwerk

Vor Kurzem wurde ein System bereitgestellt, das n...

Implementierung der Docker-Batch-Container-Orchestrierung

Einführung Der Dockerfile-Build-Ausführungsvorgan...

JavaScript zum Erzielen eines benutzerdefinierten Bildlaufleisteneffekts

In tatsächlichen Projekten befinden sich die Bild...

MySQL-Abfragedaten stündlich, geben Sie 0 ein, wenn keine Daten vorhanden sind

Nachfragehintergrund Als statistische Schnittstel...

MySQL 8.0.25 Installations- und Konfigurations-Tutorial unter Linux

Das neueste Tutorial zur Installation von MySQL 8...