PM2 Logları Nasıl Temizlenir? PM2 Log Dosyalarını Güvenli Temizleme

metn2charorcnal0 · 28 Eylül 2026 · 1 görüntülenme · 0 cevap

PM2 loglarını temizlemenin en kolay yollarından biri pm2 flush komutudur. Bu komut PM2 tarafından yönetilen uygulamaların mevcut log dosyalarının içeriğini temizlemek için kullanılabilir. Ancak logları temizlemeden önce uygulamada önemli bir hata olup olmadığını kontrol etmek gerekir.


Önce:

pm2 logs

ardından disk kullanımını kontrol etmek için:

du -sh ~/.pm2/logs

kullanabilirsiniz.

Loglar gereksiz şekilde büyümüşse:

pm2 flush

ile temizlenebilir.

PM2 logları nerede bulunur?

PM2 logları varsayılan kullanımda PM2'yi çalıştıran kullanıcının home dizinindeki:

~/.pm2/logs

klasöründe bulunabilir.

Örneğin root kullanıcısında bu yol genellikle:

/root/.pm2/logs

olabilir.

Başka bir kullanıcı altında çalışan PM2 için farklı bir home dizini kullanılır.

Bu nedenle PM2'yi hangi kullanıcıyla çalıştırdığınız önemlidir.

PM2 log dosyalarının boyutu nasıl kontrol edilir?

Toplam log boyutu:

du -sh ~/.pm2/logs

Dosyaları boyutlarıyla görmek için:

ls -lh ~/.pm2/logs

Daha büyük dosyaları üstte görmek için:

du -ah ~/.pm2/logs | sort -hr | head -30

kullanılabilir.

Bu sayede hangi uygulamanın loglarının daha fazla disk alanı tükettiğini görebilirsiniz.

PM2 logları nasıl görüntülenir?

Tüm uygulamaların loglarını görmek için:

pm2 logs

Belirli bir uygulamanın loglarını görmek için:

pm2 logs uygulama-adi

kullanılabilir.

Logları temizlemeden önce özellikle sürekli tekrar eden hata mesajlarını araştırın.

Örneğin uygulama saniyede onlarca kez aynı hatayı yazıyorsa log temizlendikten kısa süre sonra dosyalar tekrar büyüyebilir.

pm2 flush ne yapar?

PM2 tarafından yönetilen mevcut log dosyalarının içeriğini temizlemek için:

pm2 flush

kullanılabilir.

İşlem sonrasında:

du -sh ~/.pm2/logs

ile klasör boyutunu tekrar kontrol edebilirsiniz.

Disk kullanımını doğrulamak için ayrıca:

df -h

çalıştırabilirsiniz.

pm2 flush uygulamayı siler mi?

Hayır. pm2 flush uygulamayı PM2 listesinden kaldırmak için kullanılan bir komut değildir.

Ama log kayıtları hata ayıklama açısından önemli olabileceği için gerekli kayıtları incelemeden veya yedeklemeden temizlemek doğru olmayabilir.

Özellikle üretim sunucusunda yaşanan bir sorunu araştırıyorsanız önce logları inceleyin.

PM2 logları neden çok büyür?

En yaygın nedenlerden bazıları:

- Uygulamanın sürekli hata üretmesi
- Çok fazla console.log kullanılması
- Debug loglarının production ortamında açık kalması
- Bot veya yoğun trafik
- Veritabanı bağlantı hatalarının sürekli tekrarlanması
- Uygulamanın restart döngüsüne girmesi
- Log rotation kullanılmaması

olabilir.

Örneğin uygulama veritabanına bağlanamıyor ve her saniye tekrar deniyorsa aynı hata binlerce kez loglanabilir.

Bu durumda yalnızca pm2 flush kullanmak kalıcı çözüm değildir.

Restart döngüsü logları hızla büyütebilir

Uygulama:

başlıyor → hata veriyor → kapanıyor → PM2 yeniden başlatıyor → tekrar hata veriyor

şeklinde bir döngüye girdiyse log dosyaları kısa sürede büyüyebilir.

Kontrol için:

pm2 status

kullanın.

Restart sayısı sürekli artıyorsa:

pm2 logs uygulama-adi

ile asıl hatayı araştırın.

PM2 logrotate nedir?

Logların sınırsız büyümesini önlemek için PM2 ekosisteminde log rotation kullanılabilir.

Yaygın seçeneklerden biri pm2-logrotate modülüdür.

Kurulum:

pm2 install pm2-logrotate

Sonrasında modülün durumunu:

pm2 status

üzerinden kontrol edebilirsiniz.

Log rotation kullanmak özellikle uzun süre çalışan production sunucularında manuel olarak sürekli pm2 flush çalıştırmaktan daha sağlıklı bir yaklaşımdır.

pm2-logrotate ne işe yarar?

Log rotation sistemi belirlenen politikalara göre logları döndürmeye yardımcı olur.

Amaç:

- Tek log dosyasının sınırsız büyümesini engellemek
- Eski logları ayırmak
- Gerekirse sıkıştırmak
- Belirli sayıda eski log saklamak
- Diskin loglar nedeniyle dolmasını önlemek

olmalıdır.

Kullanılacak sınırlar sunucunun disk kapasitesine ve log saklama ihtiyacına göre belirlenmelidir.

Log rotation neden önemlidir?

Bir web uygulaması aylarca kesintisiz çalışabilir.

Uygulama her istekte veya işlemde log yazıyorsa birkaç MB ile başlayan dosya zaman içerisinde gigabaytlarca büyüyebilir.

Bu nedenle:

Logları büyüyünce temizlemek yerine büyümelerini baştan kontrol etmek daha doğru yaklaşımdır.

console.log kullanımı disk alanını etkiler mi?

Evet.

Node.js uygulamasında yoğun:

console.log()

kullanımı PM2 tarafından log dosyalarına yönlendirilebilir.

Özellikle her HTTP isteğinde, döngü içerisinde veya çok sık çalışan görevlerde log yazılıyorsa ciddi miktarda veri oluşabilir.

Production ortamında yalnızca gerçekten gerekli kayıtların tutulması daha uygundur.

Hata logları ayrı olabilir mi?

PM2 uygulamalarında standart çıktı ve hata çıktısı ayrı log dosyalarına yönlendirilebilir.

Örneğin dosya isimlerinde:

out

ve:

error

ifadeleri görebilirsiniz.

Bir error log çok hızlı büyüyorsa dosyayı temizlemek yerine önce hatanın neden sürekli oluştuğunu belirleyin.

PM2 loglarını manuel olarak rm ile silmek gerekir mi?

Genellikle ilk tercih olmamalıdır.

PM2 aktif olarak dosyalara yazıyor olabilir. Bu nedenle PM2'nin kendi log yönetimini veya uygun rotation yöntemlerini kullanmak daha güvenlidir.

Ayrıca çalışan process'in açık tuttuğu bir dosyayı silmek her zaman disk alanını anında geri kazandırmayabilir.

Silinen log hâlâ disk alanı kullanıyorsa

Linux'ta bir process silinmiş dosyayı açık tutmaya devam edebilir.

Kontrol etmek için:

sudo lsof +L1

kullanabilirsiniz.

Burada PM2 veya Node.js tarafından açık tutulan büyük silinmiş dosyalar görünüyorsa ilgili process'in durumu araştırılmalıdır.

Process'i rastgele öldürmek yerine kontrollü müdahale yapılmalıdır.

PM2 logları temizlendi ama disk hâlâ doluysa

Öncelikle:

df -h

çalıştırın.

Sonra:

du -sh ~/.pm2/logs

ile PM2 loglarının gerçekten küçülüp küçülmediğini kontrol edin.

Disk hâlâ doluysa problem başka yerde olabilir.

Örneğin:

- /var/log
- Nginx logları
- PostgreSQL
- Eski backup dosyaları
- Docker
- Upload klasörleri
- Cache dosyaları

disk alanını tüketiyor olabilir.

Farklı kullanıcıların PM2 loglarını unutmayın

Sunucuda PM2 birden fazla kullanıcı tarafından çalıştırılmış olabilir.

Örneğin root hesabındaki:

/root/.pm2

ile başka bir kullanıcının:

/home/kullanici/.pm2

dizini birbirinden farklıdır.

Bir kullanıcıyla pm2 flush çalıştırmanız başka kullanıcının PM2 loglarını yönetmeyebilir.

Bu nedenle hangi PM2 instance'ının uygulamayı çalıştırdığını doğrulayın.

PM2_HOME değiştirildiyse log yolu farklı olabilir

PM2'nin çalışma dizini özel olarak yapılandırılmışsa varsayılan ~/.pm2 yolu kullanılmayabilir.

Bu durumda gerçek PM2 ortamını ve uygulama detaylarını kontrol etmek gerekir.

Varsayılan yolu bulamadığınızda doğrudan klasör oluşturmaya veya rastgele dosya silmeye çalışmayın.

Log temizlemeden önce yedek almak gerekir mi?

Normal, önemsiz loglar için her zaman zorunlu değildir.

Ancak:

- Uygulama çökmüşse
- Güvenlik olayı araştırılıyorsa
- Veri kaybı yaşanmışsa
- Beklenmeyen restart oluşuyorsa
- Production hatası araştırılıyorsa

logları temizlemeden önce ilgili kayıtların kopyasını almak faydalıdır.

Çünkü temizlendikten sonra teşhis için gerekli bilgiler kaybolabilir.

PM2 log temizliği için hızlı sıra

Güvenli bir kontrol sırası şu şekilde olabilir:

1. df -h ile disk kullanımını kontrol edin.
2. du -sh ~/.pm2/logs ile PM2 loglarının boyutuna bakın.
3. pm2 logs ile mevcut hataları inceleyin.
4. pm2 status ile restart durumunu kontrol edin.
5. Gerekli logları yedekleyin.
6. Gerekiyorsa pm2 flush kullanın.
7. du -sh ~/.pm2/logs ile sonucu kontrol edin.
8. df -h ile açılan disk alanını doğrulayın.
9. Logların neden büyüdüğünü bulun.
10. Uzun vadede log rotation yapılandırın.

Sık yapılan hatalar

PM2 logları temizlenirken şu hatalardan kaçınılmalıdır:

- Hata kayıtlarını okumadan logları temizlemek
- Her disk probleminde doğrudan pm2 flush kullanmak
- Uygulamanın neden sürekli log ürettiğini araştırmamak
- Restart döngüsünü görmezden gelmek
- Production ortamında gereksiz debug logları bırakmak
- Farklı kullanıcıların PM2 dizinlerini karıştırmak
- Aktif log dosyalarını rastgele rm ile silmek
- Log rotation yapılandırmamak

Özetle, PM2 loglarını temizlemek için pm2 flush kullanılabilir, ancak asıl amaç yalnızca mevcut logları silmek olmamalıdır.

Sağlıklı bir production sunucusunda önce logların neden büyüdüğü belirlenmeli, gereksiz log üretimi azaltılmalı ve log rotation kullanılarak dosyaların tekrar kontrolsüz şekilde büyümesi engellenmelidir.