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 konfigurieren Sie inländische Quellen in CentOS8 yum/dnf

CentOS 8 hat das Installationsprogramm für Softwa...

Zusammenfassung neuer Anwendungsbeispiele für Calculated in Vue3

Die Verwendung von „Computed“ in vue3. Da vue3 mi...

Einfaches Beispiel zum Hinzufügen und Entfernen von HTML-Knoten

<br />Einfaches Beispiel zum Hinzufügen und ...

Vue implementiert die Produktregisterkarte der Produktdetailseitenfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Befehle zum Suchen der Domänen-IP-Adresse im Linux-Terminal (fünf Methoden)

In diesem Tutorial wird erklärt, wie Sie die IP-A...

Erklärung des HTML-Codes der Webseite: geordnete Liste und ungeordnete Liste

In diesem Abschnitt lernen wir Listenelemente in ...

WeChat-Miniprogramm zur Implementierung elektronischer Signaturen

In diesem Artikel finden Sie den spezifischen Cod...

Tutorial zur Installation der mysql5.7.36-Datenbank in einer Linux-Umgebung

Download-Adresse: https://dev.mysql.com/downloads...

So erstellen Sie eine Liste in CocosCreator

CocosCreator-Version: 2.3.4 Cocos hat keine Liste...

MySQL MSI Installations-Tutorial unter Windows 10 mit Bildern und Text

1. Herunterladen 1. Klicken Sie auf den neuesten ...