Ich verwende CentOS 7 und habe mehrere Logrotate-Skripte. In den letzten Tagen ist mir aufgefallen, dass meine Dateien nicht rotiert wurden. Wenn ich logrotate.status überprüfe, heißt es, dass es ausgeführt wurde, aber meine Protokolle werden tatsächlich nicht rotiert. Wenn ich sie manuell ausführen lasse, funktioniert es wie erwartet. Ich habe ein Postrotate-Skript, das die neu rotierte Datei zur Verarbeitung in einen anderen Ordner kopieren soll, aber das passiert nicht. Ich bin neu bei Linux, aber Logrotate scheint unkompliziert zu sein, hat mir jedoch unzählige Kopfschmerzen bereitet, als ich versuchte, es zuverlässig zum Laufen zu bringen.
Aktualisieren:Ich habe den Kontext dieser Logrotate-Konfigurationen überprüft und alle meine lauteten „unconfined_U“, während alle vorhandenen „system_u“ lauteten. Ich habe ihren Kontext aktualisiert, damit er mit den anderen übereinstimmt. Ich bin nicht sicher, ob dies meine Probleme beheben wird, aber es ist der einzige Unterschied, den ich bisher gefunden habe.
/pub/share/mylog.log
{
su root root
missingok
create
dateext
daily
rotate30
compress
delaycompress
postrotate
cp $1-$(date +%Y%m%d) /pub/share/reports/mylog.log > /dev/null
endscript
}
Ich weiß nicht, ob es ein Berechtigungsproblem ist oder was.