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

Logrotate:Nicht-Log-Dateien rotieren?

Lösung 1:

Ohne eine Änderung an Ihrem Prozess wird logrotate allein nicht das tun, wonach Sie hier suchen. Das Hauptproblem hier ist, dass logrotate zwar Platzhalter akzeptieren kann, die Dateien aber nicht als eine behandelt, wenn Sie dies tun, und stattdessen versucht, sie alle einzeln zu drehen, was definitiv NICHT das ist, was Sie wollen.

Sie können es jedoch so arbeiten lassen, wie Sie es beschreiben, solange die letzte Sicherung ohne Datumsstempel erstellt wird. Wenn Sie einen Sicherungsvorgang erstellen, wird /root/backup.tar.gz erstellt Beispielsweise könnten Sie die folgende Logrotate-Konfiguration verwenden:

/root/backup.tar.gz {
    rotate 5
    nocompress
    dateext
    dateformat _%Y-%m-%d
    extension .tar.gz
    missingok
}

Der schnelle Überblick über die Optionen hier:

  • rotate 5 -- Behalten Sie 5 Rotationen bei, bevor Sie löschen
  • nocompress -- die Dateien nach dem Drehen nicht komprimieren
  • dateext -- Verwenden Sie das Datum als Rotationserweiterung, anstatt Zahlen hochzuzählen
  • dateformat _%Y-%m-%d -- Legen Sie das Datumserweiterungsformat fest, das Sie verwenden möchten
  • extension .tar.gz -- machen Sie den .tar.gz nach der Rotationsverlängerung kommen
  • missingok -- wenn die Datei, die wir drehen möchten, nicht da ist, machen Sie sich keine Sorgen und fahren Sie fort (standardmäßig wird ein Fehler ausgegeben)

Hoffe, das hilft!

Lösung 2:

Sie müssen dazu nicht logrotate verwenden. Verwenden Sie einfach einen Befehl wie diesen:

ls -1 /root/backup_* | sort -r | tail -n +6 | xargs rm > /dev/null 2>&1

Dieser Befehl lässt die letzten 5 Dateien und entfernt die restlichen (falls vorhanden). Sie können es in einem Cron-Job verwenden.

Lösung 3:

Logrotate rotiert Dateien, also lautet die Antwort ja - wahrscheinlich, und wenn keine ausreichenden Berechtigungen vorhanden sind, platzieren Sie sie in /backup oder so. Überprüfen Sie, welche Gruppe und welchen Benutzer die rotierten Protokolle haben :-).

Es gibt Optionen für die Komprimierung in logrotate, så wenn "compress" NICHT konfiguriert ist - nun, dann wird es nicht versucht. Auch in Ihrem Fall die Option "Um 5 drehen".

Werfen Sie einen Blick in /etc/logrotate.d (oder wo immer es in Ihrem System gespeichert ist)


Linux
  1. Dateien ohne Trennzeichen einfügen?

  2. Grep:Speicher erschöpft?

  3. Dateien im Verzeichnis umbenennen?

  4. Möglichkeit, Logrotate anzuweisen, geöffnete Dateien zu ignorieren?

  5. So verwenden Sie Logrotate zum Verwalten von Protokolldateien

So finden Sie Dateien unter Linux

So rotieren und komprimieren Sie Protokolldateien unter Linux mit Logrotate

Finden Sie große Dateien in Linux

Rm-Befehl unter Linux

So verwalten Sie Protokolldateien mit Logrotate unter Linux

So installieren Sie Logrotate unter Ubuntu 16.04 LTS