GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Protokolldateien mit Cron-Job entfernen

Platzhalter verwenden. Und fügen Sie es einfach in Ihren crontab ein Verwenden Sie die crontab -e Option zum Bearbeiten Ihrer Crontab-Jobs.
Siehe Beispiel:

* * * * *  find  /path/to/*.log -mtime +7 -exec rm -f {} \; 

Um die Antwort zu erhöhen, sehen Sie sich diesen netten Artikel an, wie Sie mit Ihrem crontab arbeiten ! unter Linux .


Sie bearbeiten Ihre persönliche crontab durch Ausführen von crontab -e .Dies wird unter /var/spool/cron/<username> gespeichert . Die Datei wird der Benutzername des Besitzers sein, also wäre root /var/spool/cron/root. Alles in der Datei wird als Eigentümer der Datei ausgeführt.

Die Syntax für crontab lautet wie folgt:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

Wenn Sie Ihre eigenen persönlichen bearbeiten crontab über crontab -e , lassen Sie das Feld für den Benutzernamen weg, da der Benutzer aus dem Dateinamen abgeleitet wird (siehe erster Absatz).

Davon abgesehen sollte Ihr Eintrag so aussehen:

0 5 * * *  find  /path/to/*.log -mtime +7 -delete

Dies wird jeden Tag um 5:00 Uhr Systemzeit ausgeführt. Ich glaube nicht, dass Sie es häufiger als täglich ausführen müssen, da Sie Dateien entfernen, die 7 Tage dauern alt.

Bitte überbeanspruchen Sie nicht den -exec Option, wenn -delete Option tut genau das, was Sie tun möchten. Der Exec verzweigt eine Shell für jede Datei und verschwendet übermäßig Systemressourcen.

Wenn Sie fertig sind, können Sie crontab -l verwenden um Ihre persönliche Crontab aufzulisten.

p.s. Der Standardeditor auf den meisten Linux-Systemen ist vi. Wenn Sie vi nicht kennen, verwenden Sie etwas Einfaches wie nano, indem Sie Ihre Umgebungsvariable export EDITOR=nano setzen


find /path/to/dir-containing-files -name '*.log' -mtime +7 -exec rm -f {} \;

Um einen Cron-Job zu erstellen, legen Sie eine Datei mit folgendem Inhalt im Verzeichnis /etc/cron.daily ab:

#!/bin/sh
find /path/to/dir-containing-files -name '*.log' -mtime +7 -exec rm -f {} \;

Linux
  1. So verwalten Sie Protokolldateien mit Logrotate unter Linux

  2. Verwenden von at für Cron-Jobs zur einmaligen Verwendung in Linux

  3. [GELÖST] Cron-Job wget schreibt Dateien in das Stammverzeichnis

  4. Verwenden eines Cron-Wrapper-Skripts

  5. Verwenden Sie Notify-Send mit Cron?

So richten Sie einen Cron-Job unter Linux ein

So entfernen Sie Verzeichnisse und Dateien unter Linux

So entfernen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile

Überwachen Sie Nginx-Protokolldateien mit ngxtop unter Ubuntu 20.04

So überprüfen Sie, ob ein Cron-Job ausgeführt wurde (Crontab-Protokoll)

Testen Sie einen wöchentlichen Cronjob