PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Log-Datei von php



ThomasM
24.03.05, 12:13
Einige php-Scripte werden seit kurzem auf meinem Rootserver nicht mehr ausgeführt.
Ich habe den Hinweis erhalten, daß wahrscheinlich eine Log-Datei von php mehr als 2 GB hat und es daran liegt.

Nun meine Frage:

Wo kann ich die richtige Datei finden und kann ich die so einfach löschen?

piefke1984
24.03.05, 13:01
Hallo,

schau einfach in die php.ini (evtl. ist in /etc/apache/conf ein link darauf, sonst > find /etc -name "php.ini" ) was nach error_log = steht. Entweder ist dies der Dateiname, oder es steht syslog oder ähnliches. Also müsstest du mal in deine Syslog-Konfiguration schauen, wohin dies gespeichert wird.
Löschen kannst du diese sicher, wenn php (bzw apache) oder Syslog gerade nicht laufen, sonst kann es sein, dass diese "ins Leere" loggen, da sie noch den alten Dateideskriptor nutzen.
Klingt alles ein wenig schwammig, Übeltäter ist wohl die nicht gerade ausführliche Beschreibung deiner Systemumgebung.

Grüße Michael

`kk
24.03.05, 13:04
1) Distribution
2) Apache Version
3) PHP Version

Danke.

tschloss
24.03.05, 17:10
Was für ein Monsterplatte hast Du denn, dass sich dort eine 2GB-Datei verstecken kann ;-)

ThomasM
25.03.05, 00:34
Tut mir leid, daß ich vergaß nähere Informationen zu geben.

Auf dem Rootserver läuft Debian-Linux
Apache/1.3.29 (Unix)
PHP Version 4.3.4

Die entsprechende error.log habe ich inzwischen bei dem User mit dem Problem gefunden. Das Teil hat in der Tat weit über 2 GB.
Wenn ich das richtig verstanden habe, sollte der Server am besten vor dem Löschen gestoppt werden, damit da nichts anbrennt?

Gibt es keine Möglichkeit die error.log bequem zu leeren? Ich meine, immer per Hand löschen ist wohl nicht der beste Weg!?
Die access.log werden ja immer brav täglich gepackt und separat gespeichert.



@tschloss

Ich habe 2*120GB

In den Ordner usr/virtualweb/kundexyz/var habe ich nie geschaut, weshalb mir das auch nicht auffiel.

carnil
25.03.05, 09:10
Hallo

Gibt es keine Möglichkeit die error.log bequem zu leeren? Ich meine, immer per Hand löschen ist wohl nicht der beste Weg!?
Die access.log werden ja immer brav täglich gepackt und separat gespeichert.

Eventuell mit logrotate:


NAME
logrotate - rotates, compresses, and mails system logs



Description: Log rotation utility
The logrotate utility is designed to simplify the administration of
log files on a system which generates a lot of log files. Logrotate
allows for the automatic rotation compression, removal and mailing of
log files. Logrotate can be set to handle a log file daily, weekly,
monthly or when the log file gets to a certain size. Normally, logrotate
runs as a daily cron job.

Müsste ja schon installiert sein, also nur noch entsprechend konfigurieren.

hth,

MfG carnil

ThomasM
26.03.05, 13:00
@carnil

Und wie und wo kann ich das entsprechend konfigurieren?

carnil
26.03.05, 13:19
Hallo

Und wie und wo kann ich das entsprechend konfigurieren?
Je nach distribution würde das sogar gemacht. Das passiert in /etc/logrotate.conf
Um zu verstehen, wie es geht, hier mal ein Beispiel (nicht vollständig) ... bitte aber die Manpage zu logrotate lesen:




/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}


Das ist aus meiner /etc/logrotate.d/apache2 - deshalb, wie gesagt, bitte


man logrotate

durchlesen, hat einige Beispiele dort auch.

MfG carnil

ThomasM
28.03.05, 16:28
@carnil

Meine logrotate.conf sieht so aus:


# see "man logrotate" for details
# rotate log files weekly
weekly

# 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 drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

# system-specific logs may be configured here

Unter "man logrotate" finde ich nichts.

Tomek
28.03.05, 16:31
Dann schaue mal hier: http://www.rt.com/man/logrotate.8.html