Error.log dosyasının içeriğini nasıl silersiniz, ancak dosyayı sağlam tutar


25

Error.log dosyasının içeriğini silmek istiyorum (nginx error günlük dosyası), ancak dosyayı gerçekten silmek istemiyorum.

Mümkün mü?

Ubuntu çalışan

Yanıtlar:


67

Bunu kullanabilirsiniz:

>error.log

(aynen böyle yazılır - boş çıktı yönlendirmesi)

veya

truncate -s0 error.log

@Ignacio: Eğer dosya zaten varsa, onu da kısaltacaktır. Dosya yoksa, ya oluşturur.
sonraki duyuruya kadar duraklatıldı.

Haklısın benim hatam.
Ignacio Vazquez-Abrams,

Son seçenek benim için çalıştı, nedense sudo> error.log benim için işe yaramadı (ubuntu 12.04)
davidkonrad

5
@davidkonrad: Yeniden yönlendirmenin çalışabilmesi için daha önce geçerli olmasından bu yana kök olmanız gerekir sudo. Ya da yapabilirsinizsudo bash -c '>error.log'
sonraki bildirime kadar duraklatıldı.

1
@ divHelper11: Cevabımda "boş çıktı yönlendirmesi" diyorum. Bu, "hiçbir şeyin" adlandırılmış dosyaya gönderilmediği ve varolan tüm içeriğin üzerine yazdığı anlamına gelir. Benzer echo "some words" > output.txtama hiçbir şey
girmiyor

1

Daemon'u karıştırırsınız. Dosyayı silin ve sonra SIGHUPnginx'e gönderin .


SIGHUP? Nginx'i kapatıp, dosyayı temizleyip sonra başlayamaz mıyım? Bilgi uğruna dosyayı nasıl sileceğimi bilmek istiyorum.
user27449

Eğer istersen, tabi ki. Ancak bu hizmeti aksatır.
Ignacio Vazquez-Abrams,

Bence hem boş bir yeniden yönlendirme hem de a truncateatomiktir, aramaya devam etmediği sürece (özellikle de gerçekleşen tek işlem gerçekleşiyorsa) rahatsız edici olmamalıdır.
sonraki duyuruya kadar duraklatıldı.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.