Ich habe folgendes:
uname -a :
2.6.31-14-generic-pae #48-Ubuntu SMP Fri Oct 16 15:22:42 UTC 2009 i686 GNU/Linux
df -h:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.4G 2.6G 6.4G 29% /
udev 247M 168K 247M 1% /dev
none 247M 0 247M 0% /dev/shm
none 247M 40K 247M 1% /var/run
none 247M 0 247M 0% /var/lock
none 247M 0 247M 0% /lib/init/rw
/dev/sda3 40G 5.6G 32G 15% /var/lib/svn
/dev/sda1 ist der Ort, an dem sich der Webserver befindet, und /dev/sda3 ist der Ort, an dem wir SVN hosten.
/dev/sda1 ist nur 10 GB groß, wie Sie sehen, und manchmal werden die Apache2-Protokolldateien so groß, dass sie viel Speicherplatz beanspruchen und ich Fehler beim Hochladen von Dateien sehe. Das Entfernen von access.log behebt das Problem tatsächlich.
Idealerweise sollte /dev/sda3 25 GB und /dev/sda1 25 GB groß sein, aber die Leute, die diese VM hosten, sagen, dass das sehr schwierig ist und dass Daten verloren gehen könnten und so.
Ich möchte Apache-Protokolle auf /dev/sda3 speichern, statt auf /dev/sda1, wo sie gehostet werden.
Wie gehe ich dabei vor? Das Bearbeiten einer einfachen Apache-Conf-Datei reicht vielleicht nicht aus, oder? Danke!
PS: Ich bin kein Systemadministrator!
Antwort1
Sie können den Speicherort der Protokolldateien konfigurieren inapache2In /etc/httpd/conf/httpd.conf
:
ErrorLog "/var/log/httpd/error_log"
<IfModule log_config_module>
CustomLog "/var/log/httpd/access_log" common
</IfModule>
Wenn Sie das Gefühl haben, dass Apache zu viele Informationen protokolliert, können Sie die Protokollebene in ändern /etc/httpd/conf/httpd.conf
aufwarnen,KritikoderAlarm(siehedie Apache-Dokumentationsseitefür weitere Informationen zu Loglevel-Werten):
LogLevel warn
Wenn das nicht ausreicht, können Sie auch die logrotate
Konfiguration fürapache2im/etc/logrotate.d/httpd
logrotatefürapache2wird normalerweise als täglicher Cron-Job konfiguriert.