Logfilerotation in »/var/log« beeinflussen

In »var/log« befinden sich idR die Logfiles des Systems und weiteren Diensten. Wie auf UNIX Systemen üblich werden dort die Logfiles ggf komprimiert, rotiert und somit archiviert. Dieser Vorgang wird in der Manpage1) »Trimmung genannt«. Unter Mac OSX wird diese Trimmung durch die Konfigurationsdatei »/etc/newsyslog.conf« konfiguriert. Dort wird eingestellt wann ein Logfile komprimiert wird und wie viele Versionen davon archiviert werden:

/etc/newsyslog.conf

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/var/log/appfirewall.log                640  5     1000 *     J
/var/log/ftp.log                        640  5     1000 *     J
/var/log/hwmond.log                     640  5     1000 *     J
/var/log/install.log                    640  5     1000 *     J
/var/log/ipfw.log                       640  5     1000 *     J
/var/log/lookupd.log                    640  5     1000 *     J
/var/log/lpr.log                        640  5     1000 *     J
/var/log/mail.log                       640  5     1000 *     J
/var/log/ppp.log                        640  5     1000 *     J
/var/log/secure.log                     640  5     1000 *     J
/var/log/system.log                     640  7     *    @T00  J
/var/log/wtmp                           644  3     *    @01T05 B

An dieser Stelle können folgende Parameter beeinflusst werden:

Für weitere Optionen konsultieren Sie die Manpage von »newsyslog.conf«

»newsyslog« wird in der Default Konfiguration alle 30 Minuten durch launchd gestartet, dabei wird auch jedes mal die Konfigurationsdatei »newsyslog.conf« eingelesen. »launchd« kann hinsichtlich des Handlings von »newsyslog« in der Konfigurationsdatei »/System/Library/LaunchDaemons/com.apple.newsyslog.plist« eingestellt werden.

$ defaults read /System/Library/LaunchDaemons/com.apple.newsyslog
{
    Label = "com.apple.newsyslog";
    LowPriorityIO = 1;
    Nice = 1;
    ProgramArguments =     (
        "/usr/sbin/newsyslog"
    );
    StartCalendarInterval =     {
        Minute = 30;
    };
}

Note: In der Manpage zu newsyslog wird fälschlicherweise behauptet, dass newsyslog durch cron gestartet wird: »The newsyslog utility should be scheduled to run periodically by cron(8).« was aber nicht stimmt. newsyslog wird in Mac OS durch launchd gestartet. Vermutllich wurde die Manpage ohne Überarbeitung von BSD übernommen!

Verwandte Artikel:
-> Launchd Task Scheduler konfigurieren (Mac OSX)

pronto 2012/05/08 10:00