Geçici bir dosya gerek kalmadan etkin günlük dosyalarını okuma

0 Cevap

I am developing a script to read and search log files for a big system at work. It currently works like this:

  1. Kullanıcı arama parametrelerini tanımlar
  2. PHP bir geçici dosyaya log dosyası (ve çizgileri ters) kopyalamak için ("tac logfile.log> tmpfile.log") shell_exec kullanır
  3. PHP fopen () 'nin geçici dosya
  4. PHP dosyasının her satırı okur ve arama parametrelerini uygular
  5. PHP # 2 yapılmış geçici dosyayı siler

Günlük dosyaları her birkaç saniyede yazılır gibi bu yöntemle karar, ve ben geriye günlük dosyasını okumak gerekir.

Benim sorunum bu günlük dosyası> 300MB olduğunda adım # 2 gerçekten çok uzun zaman alır, ve her günün günlük dosyası kolayca 500MB, bu nedenle bu kadar veri arıyor gerçekten zaman alıcı olmasıdır.

Ben birkaç soru var:

  1. Ben sadece aktif log dosyası üzerinde () fopen çalıştırabilir miyim?
  2. Diğer komut buna yazarken ben sadece bunu okudum yoksa bu günlük dosyasının bozulmasına neden olabilir?
  3. Ben aynı anda okuyorum eğer günlük dosyasına yazarak komut yavaşlatacak mı?
  4. Her dosyanın satır geriye ziyade ileriye okumak için PHP söyleyebilir misiniz?

Ben mantıklı umut ...

0 Cevap