Wie kann ich logrotate als lokaler Benutzer ausführen?

989
Rnet

Ich versuche, Protokolle zu verwalten, die von lokalen Skripts generiert werden. Diese Protokolle sind nichts anderes als stdout und stderr, die in lokale Dateien umgeleitet werden. Ich habe keinen root-Zugriff und der Versuch, logrotate als localuser mit einer lokalen Konfigurationsdatei auszuführen, gibt mir den Fehler:

Ignoring /home/user/customlogfile because the file owner is wrong (should be root). Handling 0 logs 

Ist es möglich, logrotate als lokaler Benutzer auszuführen?

0

1 Antwort auf die Frage

0
JdeBP

Ich versuche, Protokolle zu verwalten, die von lokalen Skripts generiert werden. Diese Protokolle sind nichts anderes als stdout und stderr, die in lokale Dateien umgeleitet werden.

Dann brauchst du es gar nicht logrotateerst.

Holen Sie sich eine oder mehrere von:

und senden Sie die Skript-Standardausgabe und den Standardfehler wie üblich durch eine Pipe an ihre Standardeingabe.

Sie schreiben einen Satz automatisch zyklisierter, nach Bedarf drehbarer Protokolle mit strikter Begrenzung in einem von Ihnen angegebenen Verzeichnis, ohne dass zusätzliche Protokollrotationsprogramme erforderlich sind. Keiner von ihnen benötigt Superuser-Berechtigungen. (Tatsächlich sind Superuser-Privilegien weit davon entfernt, Superuser-Privilegien zu benötigen oder zu erwarten, es ist in ihrem bekanntesten Anwendungsfall, der Protokollierung der Daemon-Ausgabe, die beste Vorgehensweise, um sie unter nicht privilegierten Konten auszuführen.)