Wie kann der Inhalt einer error.log-Datei gelöscht werden, die Datei bleibt jedoch erhalten

37731
user27449

Ich möchte den Inhalt der Datei error.log (nginx-Fehlerprotokolldatei) löschen, aber ich möchte die Datei nicht wirklich löschen.

Ist das möglich?

läuft Ubuntu

21

2 Antworten auf die Frage

60
Dennis Williamson

Sie können dies verwenden:

>error.log 

(Nur so eingegeben - eine leere Umleitung für die Ausgabe)

oder

truncate -s0 error.log 
@Ignacio: Wenn die Datei bereits vorhanden ist, wird sie von beiden abgeschnitten. Wenn die Datei nicht existiert, wird sie auch erstellt. Dennis Williamson vor 13 Jahren 0
Du hast recht, mein Schlechter. Ignacio Vazquez-Abrams vor 13 Jahren 0
Die letzte Option hat für mich funktioniert, aus irgendeinem Grund hat sudo> error.log bei mir nicht funktioniert (ubuntu 12.04) davidkonrad vor 9 Jahren 0
@davidkonrad: Sie müssen bereits root sein, damit die Umleitung funktioniert, da sie ausgeführt wird, bevor "sudo" wirksam wird. Oder Sie können `sudo bash -c '> error.log'` tun Dennis Williamson vor 9 Jahren 4
OK, wusste das nicht. Danke für die Klarstellung! davidkonrad vor 9 Jahren 0
Der erste hat für mich perfekt funktioniert! Obwohl ich nicht verstehe, was es bewirkt: D Danke divHelper11 vor 5 Jahren 0
@ divHelper11: In meiner Antwort sage ich, es sei eine "leere Umleitung der Ausgabe". Das bedeutet, dass an die genannte Datei "nichts" gesendet wird und vorhandene Inhalte überschrieben werden. Es ist ähnlich wie "einige Wörter"> output.txt`, aber nichts geht rein. Dennis Williamson vor 5 Jahren 1
1
Ignacio Vazquez-Abrams

Sie werden den Dämon verwirren. Löschen Sie die Datei und senden Sie sie SIGHUPan nginx.

SEUFZEND? Kann ich nginx nicht herunterfahren, die Datei leeren und dann starten? Ich möchte wissen, wie man die Datei aus Gründen des Wissens auch löscht. user27449 vor 13 Jahren 0
Wenn Sie wollten, sicher. Aber das würde den Service stören. Ignacio Vazquez-Abrams vor 13 Jahren 0
Ich denke, dass sowohl eine Null-Umleitung als auch eine 'abgeschnittene' atomar sind. Solange keine Suche stattfindet (insbesondere wenn die einzige Operation, die gerade ausgeführt wird, eine hängende Operation ist), sollte sie nicht störend sein. Dennis Williamson vor 13 Jahren 0