# [gelöst] logrotate

## Niniveh

Hallo

Ich bin unter Gentoo nicht allzu fit und bitte Euch mir mit der Konfiguration von logrotate zu helfen.

Ich las mir die deutsche Übersetzung von man logrotate durch, verstehe sie aber eher wenig.

Was bedeutet rotieren in diesem Zusammenhang eigentlich?

Das wird anscheinend überall vorausgesetzt, ich weiß es nicht.

Hilfe wäre sehr nett   :Razz: 

Ich stehe nämlich ziemlich auf dem Schlauch   :Rolling Eyes: 

Ich würde logrotate gerne so konfigurieren, dass Logdateien, besonders /var/log/messages, ab 5MB größe komprimiert und an meine Mailadresse gesendet werden.

Das geht angeblich.

Hier meine noch unveränderten Konfigurationsdateien:

cat /etc/cron.daily/logrotate.cron

```
#! /bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
```

cat /etc/logrotate.conf

```
# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/files/logrotate.conf,v 1.2 2004/07/18 01:58:24 dragonheart Exp $

#

# Logrotate default configuration file for Gentoo Linux

#

# See "man logrotate" for details

# rotate log files weekly

weekly

#daily

# keep 4 weeks worth of backlogs

rotate 4

# create new (empty) log files after rotating old ones

create

# uncomment this if you want your log files compressed

compress

# packages can drop log rotation information into this directory

include /etc/logrotate.d

notifempty

nomail

noolddir

# no packages own lastlog or wtmp -- we'll rotate them here

/var/log/wtmp {

    monthly

    create 0664 root utmp

    rotate 1

}

# system-specific logs may be also be configured here.
```

cat /etc/logrotate.d/syslog-ng

```
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.logrotate,v 1.3 2008/10/15 20:46:12 mr_bones_ Exp $

#

# Syslog-ng logrotate snippet for Gentoo Linux

# contributed by Michael Sterrett

#

/var/log/messages {

    missingok

    sharedscripts

    postrotate

        /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true

    endscript

}

```

----------

## Hollowman

Hi

Was du suchst sollte so aussehen:

Den vorhanden Abschnitt solltest du ersetzen. Die Kommentare solltest du auch weg lassen.

/etc/logrotate.d/syslog-ng

```
/var/log/messages {        # weitere Log Files mit der selben Bedingung durch Leerzeichen getrennt angeben z.B. /var/log/messages /var/log/ftp.log /var/log/maillog usw... {

    missingok      # Keinen Fehler erzeugen wenn das Log File nicht da ist

    notifempty     # Nicht rotieren wenn das dass Log File keinen Eintrag hat

    compress      # Das rotierte Logfile zippen

    size 5M          # Rotieren wenn das Logfile größer als 5MB wird

    mail email@domäne.de   # Mailadresse für den Versand

    mailfirst         # Das grade rotierte File versende anstatt dem was gelöscht wird. "mail xxx@yy.dd" versendet normalerweise das File was aus der History gelöscht wird

    maxage 3       # Maximal 3 rotierte Versionen auf dem Server aufheben. Kannste anpassen so wie du es brauchst.

    postrotate      # Nach dem rotieren folgende Befehle ausführen

        /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true     # Syslog-ng neu laden, damit es dsa neue leer Logfile generiert. Der Output davon wird nach /dev/null geschickt.

    endscript        # Ende der Befehle nach dem rotieren.

} 
```

Rotieren bedeute hier eher wegspecihern. Wenn man logrotate einsetzt, wird immer das definierte Logfile rotiert. Das bedeutet, unter bestimmten Bedingungen (Täglich, Wöchentlich,Monatlich oder bei einer bestimmten gtöße) wird ein Logfile komprimiert und gespeichert. Dann wird ein neuer File erzeugt in den wieder geschrieben wird. Bei einem Mail Server z.B. rotiert man die Maillogs täglich. Dann kann man z.B. Statistiken erstellen und hat es vor allem bei der Verfolgung der Mails leichter. Das logrotae macht das ganze einfacher und übersichtlicher. Und 10MB große Logfiles machen keinen Spaß.

Ich würde auch schon fast sagen das deine 5MB zu gross gewählt sind. Was willst du eigentlich mit dem Message Log an deiner Mailadresse?

Sebastian

----------

## Niniveh

Vielen Dank Hollowman

 *Quote:*   

> Was willst du eigentlich mit dem Message Log an deiner Mailadresse?

 

Ich bin eigentlich noch am experimentieren und bin mir nicht richtig klar darüber was ich sinnvollerweise möchte.

Ich dachte mir nur, dass so alle messages-logs auf dem Mailserver gespeichert werden und immer verfügbar habe. Ich dachte, dass ich die möglicherweise benötigen könnte um Fehler zu suchen, die erst später auffallen.

Inzwischen denke ich, dass das nicht notwendig ist.

Ich fand in einem Gentoobuch einiges über logrotate, und finde im Moment, dass die Standardeinstellungen auch in Ordnung sein dürften.

Allerdings hat das bislang anscheinend noch nie funktioniert. Jedenfalls enthielt die /var/log/messages alle Einträge seit ich Gentoo in Betrieb nahm und es waren keine komprimierten Archive angelegt.

Kann es sein, dass cron gar nicht läuft?

cat /etc/crontab

```
# for vixie cron

#

# $Header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/crontab-3.0.1-r4,v 1.1 2005/03/04 23:59:48 ciaranm Exp $

#

#

# Global variables

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly

0  *  * * *     root    rm -f /var/spool/cron/lastrun/cron.hourly

1  3  * * *     root    rm -f /var/spool/cron/lastrun/cron.daily

15 4  * * 6     root    rm -f /var/spool/cron/lastrun/cron.weekly

30 5  1 * *     root    rm -f /var/spool/cron/lastrun/cron.monthly

*/10  *  * * *  root    test -x /usr/sbin/run-crons && /usr/sbin/run-crons
```

Was ich bezüglich cron auch noch nicht verstanden habe, mein Rechner wird nur bei Bedarf eingeschaltet. 

Erledigt cron immer nach dem Hochfahren seinen Job, oder ist er an gewisse Uhrzeiten gekoppelt, die beim Hochfahren (bei mir) schon um sind und cron daher nicht seine Arbeit erledigt?

----------

## Hollowman

 *Quote:*   

> Ich dachte mir nur, dass so alle messages-logs auf dem Mailserver gespeichert werden und immer verfügbar habe. Ich dachte, dass ich die möglicherweise benötigen könnte um Fehler zu suchen, die erst später auffallen. 

 

Ich heb an meinen Mailservern die Logfiles 30 Tage auf und mach jeden Tag ein neues. Das reicht dicke. Das sind allerdings nur die Logs des Mailprogramms (Exim). Das /var/log/messages braucht kein Mensch.

Du solltest dich vielleicht erst ma mit Syslog-ng und der conf Datei dazu beschäftigen und deine Log Files gescheit auf und einteilen.

 *Quote:*   

> Allerdings hat das bislang anscheinend noch nie funktioniert. Jedenfalls enthielt die /var/log/messages alle Einträge seit ich Gentoo in Betrieb nahm und es waren keine komprimierten Archive angelegt. 

 

Dazu sollte irgendein Cron Tool laufen. Ob es das tut kannst du mit rc-status --all prüfen. 

Für Cron gibt es noch weitere Orte als die Cron Tab. Du solltes auch Verzeichnisse alla /etc/cron.houerly /etc/cron.daily und /etc/cron.weekly haben. Das steht das Logrotate irgendwo mit drin.

 *Quote:*   

> Was ich bezüglich cron auch noch nicht verstanden habe, mein Rechner wird nur bei Bedarf eingeschaltet.
> 
> Erledigt cron immer nach dem Hochfahren seinen Job, oder ist er an gewisse Uhrzeiten gekoppelt, die beim Hochfahren (bei mir) schon um sind und cron daher nicht seine Arbeit erledigt?

 

Der ist an Uhrzeiten gekoppelt, und wenn der Rechner zu diesen Zeiten nicht an ist, werden die Jobs nicht ausgeführt. Es gibt aber auch Crons die das beim Hochfahren nachholen. Musst dir halt ma alle crons unter Gentoo angucken. "eix cron" sollte dir da helfen.

Falls eix fehlt: "emerge -a eix" "update-eix"

Mein Tipp: Guck dir Syslog-ng und die syslog-ng.conf an und Teil deine Logdateien richtig auf. Dann kümmer dich ums Logrotate. Das macht man aber erst wenn der Server sonst einwandfrei läuft.

Sebastian

----------

## Niniveh

Moin

Ich habe in den letzten Wochen versucht, mich etwas zu syslog-ng und logrotate und cron zu informieren.

cron stellte ich so ein, dass er seine tägliche Prozesse um 18.00Uhr ab arbeitet.

Das funktioniert, weil ich sehe wie um 18.00Uhr das Programm updatedb für locate anläuft.

Aber logrotate tut keinen Mux, ich kann allerdings nicht behaupten die Konfiguration sonderlich gut begriffen zu hätte.

Einen Linuxadmin den ich in meinem Bekanntenkreis fragte, nutzt zwar logrotate mit SuSE, hätte es aber noch nie konfigurieren müssen, funktionierte immer von alleine.

Und andere Bekannte benutzen es nicht.

Auch bekam ich den Rat, dass für einen Desktoprechner logrotate zu viel des Guten wäre und ich solle das ganze von Hand erledigen.

Das kann ich zwar machen, aber es fuchst mich, dass logrotate einfach nicht will.

Ich beschreibe meine Konfiguration hier nochmals und bitte um Beistand:   :Razz: 

Inzwischen finde ich, dass wöchentliche Logdateikompressionen und erstellen einer neuen bei 4 Rotationen wohl am besten wären.

Ich habe sie nun so gelassen wie sie sind, im Grunde steige ich nicht durch.

/etc/crontab:

```
# for vixie cron

#

# $Header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/crontab-3.0.1-r4,v 1.1 2005/03/04 23:59:48 ciaranm Exp $

#

#

# Global variables

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly

0  *  * * *   root   rm -f /var/spool/cron/lastrun/cron.hourly

0  18  * * *   root   rm -f /var/spool/cron/lastrun/cron.daily

15 4  * * 6   root   rm -f /var/spool/cron/lastrun/cron.weekly

30 5  1 * *   root   rm -f /var/spool/cron/lastrun/cron.monthly

*/10  *  * * *   root   test -x /usr/sbin/run-crons && /usr/sbin/run-crons
```

/etc/cron.daily/logrotate.cron (ausfürbar)

```
#! /bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
```

/etc/logrotate.conf

```
# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/files/logrotate.conf,v 1.2 2004/07/18 01:58:24 dragonheart Exp $

#

# Logrotate default configuration file for Gentoo Linux

#

# See "man logrotate" for details

# rotate log files weekly

weekly

#daily

# keep 4 weeks worth of backlogs

rotate 4

# create new (empty) log files after rotating old ones

create

# uncomment this if you want your log files compressed

compress

# packages can drop log rotation information into this directory

include /etc/logrotate.d

notifempty

nomail

noolddir

# no packages own lastlog or wtmp -- we'll rotate them here

/var/log/wtmp {

    monthly

    create 0664 root utmp

    rotate 1

}

# system-specific logs may be also be configured here.
```

/etc/logrotate.d/logrotate.config

```
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.logrotate,v 1.3 2008/10/15 20:46:12 mr_bones_ Exp $

#

# Syslog-ng logrotate snippet for Gentoo Linux

# contributed by Michael Sterrett

#

# Ursprünglicher Eintrag, funktionierte aber nicht:

#/var/log/messages {

#    missingok

#    sharedscripts

#    size=+1024k

#    rotate 4

#    postrotate

#       /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true

#    endscript

#}

#

#

# Ich fasste alle bisherigen /etc/logrotate.d dateien hier zusammen

# und sicherte alle anderen.

# Eintrag von 

# http://www.linux-praxis.de/lpic1/manpages/logrotate.html Übernommen:

compress

       /var/log/messages {

           rotate 4

           daily

           size=1024k

           postrotate

               /sbin/killall -HUP syslogd

           endscript

}

/var/log/rsync.log {

   compress

   maxage 365

   rotate 4

   size=+1024k

   notifempty

   missingok

   copytruncate

}

/var/log/emerge.log{

            compress

            missingok

            size=+1024k

            rotate 4

}

/var/log/portage/elog/summary.log {

    compress

    missingok

    size=+1024k

    nocreate

    delaycompress

    rotate 4

}
```

Meine Logdateien (die *.tar.gz-Dateien erstellte ich manuell):

/var/log:

```
gentoo64 log # ls -l

insgesamt 2740

drwxr-xr-x 2 root     root      4096  7. Mär 15:22 cups

-rw-r----- 1 root     root     22565 11. Mär 02:29 dmesg

-rw-rw---- 1 portage  portage  97100  6. Mär 18:40 emerge-fetch.log

-rw-rw-r-- 1 root     root         0  7. Mär 14:54 emerge.log

-rw-r--r-- 1 root     root     97222  7. Mär 14:28 emerge.log.tar.gz

-rw------- 1 root     root     32192  5. Mär 17:19 faillog

drwxr-xr-x 2 festival audio     4096 12. Okt 09:40 festival

-rw-r--r-- 1 root     root    457802  3. Mär 18:56 genkernel.log

-rw-r--r-- 1 root     root    768869 11. Mär 03:21 kdm.log

-rw-r--r-- 1 root     root    293752 11. Mär 03:29 lastlog

-rw------- 1 root     root    453854 11. Mär 05:20 messages

-rw-r--r-- 1 root     root    402124  7. Mär 14:26 messages.tar.gz

drwxr-xr-x 2 root     root      4096 17. Jun 2008  news

drwxr-xr-x 3 root     root      4096 17. Jun 2008  portage

drwxrwx--- 2 root     portage   4096 17. Jun 2008  sandbox

-rw-rw-r-- 1 root     utmp    130560 11. Mär 03:29 wtmp

-rw-r--r-- 1 root     root    180537  7. Mär 14:55 wtmp.tar.gz

-rw-r--r-- 1 root     root     25190 11. Mär 03:59 Xorg.0.log

-rw-r--r-- 1 root     root     24294 10. Mär 19:25 Xorg.0.log.old

-rw-r--r-- 1 root     root     24295 22. Feb 11:40 Xorg.1.log

-rw-r--r-- 1 root     root     24295 18. Feb 18:19 Xorg.1.log.old

gentoo64 log #

```

```
gentoo64 cups # cd '/var/log/cups/'

gentoo64 cups # ls -l

insgesamt 624

-rw-r--r-- 1 root lp   481863  8. Mär 09:06 access_log

-rw-rw-r-- 1 root root      0  7. Mär 14:58 access_log.O

-rw-r--r-- 1 root root  53549  7. Mär 14:27 access_log.O.tar.gz

-rw-r--r-- 1 root lp    16153 11. Mär 02:29 error_log

-rw-r--r-- 1 root root  56909  7. Mär 14:28 error_log.tar.gz

-rw-r--r-- 1 root lp    10045  8. Mär 05:27 page_log

gentoo64 cups #
```

```
gentoo64 portage # cd '/var/log/portage/elog'

gentoo64 elog # ls -l

insgesamt 176

-rw-rw-r-- 1 root portage 174723  6. Mär 19:14 summary.log

gentoo64 elog #
```

----------

## Hollowman

Hi

Mach doch erst ma ne genaue auflistung was du laufen hast, was du rotieren willst.

Bei nem Desktoprechner macht logrotate auch eher wenig sinn, das stimmt schon.

mach mal ein 

# grep cron /var/log/messages

Die Ausgabe mal posten. Wenns viel ist als Text Datei oder so anhängen.

Gehe ich recht davon aus das du

corn (welchen cron hast du?)

Syslog-ng oder hast du syslog installiert?

logrotate

intsalliert hast?

Sebastian

----------

## Niniveh

Sorry Hollowman,

dass meine Reaktion dauerte lag daran, dass die Benachrichtigungsmail im Spam-Verzeichniss landete, weshalb ich dachte, es gäbe hier noch nichts neues.

 *Quote:*   

> Gehe ich recht davon aus das du
> 
> cron (welchen cron hast du?)
> 
> Syslog-ng oder hast du syslog installiert?
> ...

 

vixie-cron, syslog-ng logrotate sind installiert, Details wie folgt:

```
niniveh@gentoo64 ~ $ eix cron

[I] kde-base/kcron

     Available versions:

        (3.5)   3.5.9 ~3.5.10

        (4.2)   ~4.2.0 ~4.2.1

        {arts debug elibc_FreeBSD htmlhandbook kdeenablefinal kdehiddenvisibility kdeprefix xinerama}

     Installed versions:  3.5.9(3.5)(19:40:56 17.08.2008)(arts -debug -elibc_FreeBSD -kdeenablefinal -kdehiddenvisibility -xinerama)

     Homepage:            http://www.kde.org/

     Description:         KDE Task Scheduler

[...]

[I] sys-process/cronbase

     Available versions:  0.3.2 0.3.2-r1

     Installed versions:  0.3.2-r1(16:35:46 17.08.2008)

     Homepage:            http://www.gentoo.org/

     Description:         base for all cron ebuilds

[...]

[I] sys-process/vixie-cron

     Available versions:  4.1-r9 4.1-r10 ~4.1-r11 {debug pam selinux}

     Installed versions:  4.1-r10(19:15:00 17.08.2008)(pam -debug -selinux)

     Homepage:            ftp://ftp.isc.org/isc/cron/

     Description:         Paul Vixie's cron daemon, a fully featured crond implementation

niniveh@gentoo64 ~ $ eix syslog-ng

[I] app-admin/syslog-ng

     Available versions:  2.0.9 2.1.3 {hardened ipv6 selinux spoof-source sql static tcpd}

     Installed versions:  2.1.3(08:52:21 30.01.2009)(ipv6 tcpd -hardened -selinux -spoof-source -sql -static)

     Homepage:            http://www.balabit.com/products/syslog_ng/

     Description:         syslog replacement with advanced filtering features

niniveh@gentoo64 ~ $ eix logrotate

[I] app-admin/logrotate

     Available versions:  3.7.1-r2 3.7.2 ~3.7.7 {selinux}

     Installed versions:  3.7.2(16:50:37 15.08.2008)(-selinux)

     Homepage:            http://www.gentoo.org

     Description:         Rotates, compresses, and mails system logs

* sec-policy/selinux-logrotate

     Available versions:  [M]20070329 [M]20070928 [M]~20080525

     Homepage:            http://www.gentoo.org/proj/en/hardened/selinux/

     Description:         SELinux policy for logrotate

```

 *Quote:*   

> Mach doch erst mal eine genaue Auflistung was du laufen hast, was du rotieren willst

 

Auflisten was ich am Laufen habe, was meinst du damit?

Eigentlich möchte ich alle Logdateien rotieren, damit ich mich um deren Größe nicht mehr kümmern brauche, wobei manche Logs anscheinend nicht sonderlich groß werden.

In meinem letzten Beitrag oben, ist an letzter Stelle ist eine Auflistung aller Logdateien, die ich innerhalb von /var/log finde.

 *Quote:*   

> mach mal ein
> 
> # grep cron /var/log/messages

 

/etc/cron.daily ist auf 18.00Uhr gestellt und in /etc/logrotate.d erstellte ich gestern die ursprüngliche Datei syslog-ng, aus einem Backup, sie ist also Original und von mir nicht editiert.

Inhalt:

```
niniveh@gentoo64 ~ $ cat /etc/logrotate.d/syslog-ng

# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.logrotate,v 1.2 2004/07/18 02:25:02 dragonheart Exp $

#

# Syslog-ng logrotate snippet for Gentoo Linux

# contributed by Michael Sterrett

#

/var/log/messages {

    sharedscripts

    postrotate

        /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true

    endscript

}

```

grep cron /var/log/messages von heute, interessant dürfte 18.00 Uhr sein:

```
gentoo64 niniveh # grep cron /var/log/messages

Mar 23 15:44:20 gentoo64 cron[16832]: (CRON) STARTUP (V5.0)

Mar 23 15:50:01 gentoo64 cron[17298]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 16:00:01 gentoo64 cron[17558]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 16:00:01 gentoo64 cron[17565]: (root) CMD (rm -f /var/spool/cron/lastrun/cron.hourly)

Mar 23 16:10:01 gentoo64 cron[18222]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 16:20:01 gentoo64 cron[18339]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 16:30:01 gentoo64 cron[18390]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 16:40:01 gentoo64 cron[18434]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 16:50:01 gentoo64 cron[18490]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 17:00:01 gentoo64 cron[18538]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 17:00:01 gentoo64 cron[18545]: (root) CMD (rm -f /var/spool/cron/lastrun/cron.hourly)

Mar 23 17:10:01 gentoo64 cron[18595]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 17:20:01 gentoo64 cron[18641]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 17:30:01 gentoo64 cron[18723]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 17:40:01 gentoo64 cron[18755]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 17:50:01 gentoo64 cron[18791]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 18:00:01 gentoo64 cron[18823]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 18:00:01 gentoo64 cron[18829]: (root) CMD (rm -f /var/spool/cron/lastrun/cron.daily)

Mar 23 18:00:01 gentoo64 cron[18832]: (root) CMD (rm -f /var/spool/cron/lastrun/cron.hourly)

Mar 23 18:10:01 gentoo64 cron[18922]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 18:20:01 gentoo64 cron[18958]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )

Mar 23 18:30:01 gentoo64 cron[18990]: (root) CMD (test -x /usr/sbin/run-crons && /usr/sbin/run-crons )
```

Ist alles ziemlich verwirrend, nicht einfach bei diesem Thread durch zu steigen.

Aber vielen Dank für deine Mühe.   :Very Happy: 

----------

## Josef.95

Es gibt auch einen recht gut beschriebenen

Gentoo Linux Cron Guide

siehe:

http://www.gentoo.org/doc/de/cron-guide.xml

MfG

----------

## Hollowman

Hi

Du hast auch noch eine Datei /etc/logrotate.conf

Da stehen die Standarteinstellungen drin. Poste die ma.

Sebastian

----------

## Niniveh

Moin Jungs   :Razz: 

@Hollowman

 *Quote:*   

> Du hast auch noch eine Datei /etc/logrotate.conf 

 

Oben bei meinem vorletzten Beitrag ist sie dabei.

@Josef.95 So sieht man sich wieder  :Very Happy: 

Danke für den Link, das werde ich mir mal ansehen, wobei ich den Verdacht habe, dass mein Problem an cron nicht liegt.

Denn zumindest ein Prozess in /etc/cron.daily (updatedb) startet wie am Schnürchen, nur logrotate im selben Verzeichnis nicht.

----------

## py-ro

Trau mich ja fast nicht zu fragen, aber ist die Datei auch als ausführbar gekenzeichnet?

Py

----------

## Hollowman

Hi

Der ist auf wöchentliches rotieren eingestellt.

/etc/logrotate.conf

# rotate log files weekly

weekly

#daily 

Mach mal vor weekly nen hash und den vor daily weg.

Sebastian

----------

## Niniveh

Moin Jungs

 *py-ro wrote:*   

> Trau mich ja fast nicht zu fragen, aber ist die Datei auch als ausführbar gekennzeichnet?
> 
> 

 

Ist nicht ausführbar.

Warum? Soweit ich es sehe ist das eine Konfigurationsdatei und wird wohl ausgelesen, aber kein Skript. Ich meine sie müsste daher nicht ausführbar sein. Aber darüber hatte ich auch schon nachgedacht.

@Hollowman

Danke für den Tip.

Das war mir auch schon aufgefallen. Aber weil ich nicht wusste und verstand wie das alles zusammenspielt...

Jetzt mal gucken ob es nun funktioniert.

Ich melde mich.  :Cool: 

----------

## py-ro

Ich meinte den Cron Job.

Py

----------

## Niniveh

So, jetzt kommen wir der Sache aber ziemlich nahe  :Razz: 

logrotate hat nun an 2 Tagen hintereinander gearbeitet, wobei nur die /var/log/messages komprimiert wurde.

Jetzt verschob ich /etc/cron.daily/logrotate.cron nach /etc/cron.weekly/logrotate.cron und stellte /etc/logrotate.conf wieder auf weekley um.

Ich stellte die /etc/crontab für Weekley auf Freitag 18.10 Uhr ein, hoffe ich   :Very Happy: 

/etc/crontab

```
10 18  * * 5    root    rm -f /var/spool/cron/lastrun/cron.weekly
```

Mal gucken, das dauert naturgemäß jetzt ein wenig länger.

Nun muss ich herausfinden, wie und wann und wie logrotate mit den anderen Logdateien umgeht.

Weil in der /etc/logrotate.conf nur /var/log/wtmp angegeben ist, werden alle anderen wohl ausgelassen?

Aber in /etc/logrotate.d/syslog-ng wird /var/log/messages beschrieben:

/etc/logrotate.conf

```
# rotate log files weekly

weekly

#daily

# keep 4 weeks worth of backlogs

rotate 4

# create new (empty) log files after rotating old ones

create

# uncomment this if you want your log files compressed

compress

# packages can drop log rotation information into this directory

include /etc/logrotate.d

notifempty

nomail

noolddir

# no packages own lastlog or wtmp -- we'll rotate them here

/var/log/wtmp {

    monthly

    create 0664 root utmp

    rotate 1

}

# system-specific logs may be also be configured here.

```

/etc/logrotate.d/syslog-ng

```
/var/log/messages {

    sharedscripts

    postrotate

        /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true

    endscript

}
```

Die anderen muss ich wohl explizit irgendwo einfügen und mit den entsprechenden Optionen versehen.

Bei /var/log/wtmp kommt logrotate möglicherweise wieder durcheinander, weil hier monthly angegeben ist, der Cronjob aber wöchentlich ausgeführt wird.

Irgendwann werde ich dahinter kommen.   :Razz: 

@py-ro

Ja, die cronjoms sind ausführbar, danke. Hätte ja sein können   :Very Happy: 

----------

## Niniveh

Moin Jungs  :Razz: 

Anscheinend funktioniert logrotate nun tadelos, jedenfalls beim erstellen der Rotationen.

Ob dies Sicherungen am Ende auch entfernt werden muss ich noch abwarten, bin aber zuversichtlich.

Erst täglich und nun auch wöchentlich und für die Datei /var/log/wtmp monatlich, wenn ich es richtig beobachtete.

```
gentoo64 ~ # ls -l /var/log

insgesamt 2568

drwxr-xr-x 2 root     root      4096 28. Mär 09:36 cups

-rw-r----- 1 root     root     23012 11. Apr 17:56 dmesg

-rw-rw---- 1 portage  portage 111852 11. Apr 18:51 emerge-fetch.log

-rw-rw---- 1 portage  portage 101835 11. Apr 19:13 emerge.log

-rw------- 1 root     root     32192 10. Apr 20:16 faillog

drwxr-xr-x 2 festival audio     4096 12. Okt 09:40 festival

-rw-r--r-- 1 root     root    477633 10. Apr 21:44 genkernel.log

-rw-r--r-- 1 root     root    848311 11. Apr 18:45 kdm.log

-rw-r--r-- 1 root     root    293752 11. Apr 18:28 lastlog

-rw------- 1 root     root     75716 11. Apr 19:20 messages

-rw------- 1 root     root    200106 10. Apr 21:10 messages.1.gz

-rw------- 1 root     root     11477 28. Mär 18:00 messages.2.gz

-rw------- 1 root     root    396601 27. Mär 18:00 messages.3.gz

drwxr-xr-x 2 root     root      4096 17. Jun 2008  news

drwxr-xr-x 3 root     root      4096 17. Jun 2008  portage

drwxrwx--- 2 root     portage   4096 17. Jun 2008  sandbox

-rw-rw-r-- 1 root     utmp    179328 11. Apr 18:28 wtmp

-rw-rw-r-- 1 root     utmp     21178  3. Apr 18:10 wtmp.1.gz

-rw-r--r-- 1 root     root     18090 11. Apr 18:28 Xorg.0.log

-rw-r--r-- 1 root     root     15683 11. Apr 09:28 Xorg.0.log.old

-rw-r--r-- 1 root     root     24295 22. Feb 11:40 Xorg.1.log

-rw-r--r-- 1 root     root     24295 18. Feb 18:19 Xorg.1.log.old

gentoo64 ~ # ls -l /var/log/portage/elog

insgesamt 68

-rw-rw-r-- 1 root portage   507 11. Apr 19:13 summary.log

-rw-rw-r-- 1 root portage 18187 10. Apr 21:52 summary.log.1

-rw-rw-r-- 1 root portage   637 10. Apr 21:10 summary.log.2.gz

-rw-rw-r-- 1 root portage 37486 28. Mär 18:00 summary.log.3.gz

gentoo64 ~ # 
```

Bleiben mir allerdings noch Fragen, nach dem Motto "Alles funktioniert, weiß aber nicht warum"?

Wenn ihr keine Lust auf dieses Thema habt, kann ich das gut verstehen, aber vielleicht will sich doch noch jemand äußern.   :Wink: 

Was mich bei der ganzen Aktion mit lograotate durcheinander brachte und ich im Grunde immer noch nicht verstehe ist folgendes:

Die /etc/logrotate.conf ist die Konfigurationsdatei von logrotate, sollte man meinen.

Es werden darin auch ein paar entsprechende Konfigurationen angegeben.

Dann ist da noch die /etc/logrotate.d/syslog-ng.

In ihr wird auch einiges angegeben, wie, was mit welcher Logdatei geschehen soll.

Nur ist in meiner /etc/logrotate.d/syslog-ng nur die Datei /var/log/messages aufgeführt, aber dennoch werden einige andere Logdateien rotiert und gezipt, die in keiner der beiden genannten Konfigdateien genannt werden.

Ich kapiere das nicht, bin aber unter den Linuxusers meines Bekanntenkreises der einzigst, der das wissen will.  :Razz: 

----------

## tuam

 *Niniveh wrote:*   

> Die /etc/logrotate.conf ist die Konfigurationsdatei von logrotate, sollte man meinen.
> 
> Es werden darin auch ein paar entsprechende Konfigurationen angegeben.
> 
> Dann ist da noch die /etc/logrotate.d/syslog-ng.

 

In der logrotate.conf steht, dass alle Dateien aus /etc/logrotate.d einbezogen werden sollen. So kann jedes Ebuild, was mitrotieren möchte, seine Konfiguratrion dort abwerfen, ohne in der logrotate.conf herumzupfuschen. Du könntest also noch mehr Dateien dort finden   :Wink: 

Xorg ist da etwas anders, da ist die Nummer die des Display und es gibt eine alte Datei...

FF,

Daniel

----------

## Niniveh

Danke tuam

Langsam wir es heller   :Very Happy: 

Wurde auch Zeit.

Ich denke, ich kann den Thread auf gelöst setzen.

 :Razz: 

----------

