inotifywait ile Gerçek Zamanlı Dosya İzleme Scripti

0 Replies 2 Views
·
Participants
Thread Starter #0
[bbcode]
inotifywait aracı, Linux sistemlerinde dosya ve dizinlerin değişimlerini gerçek zamanlı takip etmek için güçlü bir araçtır. Özellikle belirli olaylara otomatik tepki vermek veya sistem durumunu sürekli izlemek isteyen kullanıcılar ve yöneticiler tarafından tercih edilir. Bu araç, olay tabanlı izleme yapısı sayesinde sürekli tarama yerine yalnızca ilgili olaylar gerçekleştiğinde tetiklenir, bu da performans açısından avantaj sağlar.

Bir örnek üzerinden, belirli bir dizine gelen yeni dosyaları veya değişiklikleri anlık takip eden bir script hazırlayabiliriz. Örneğin, "/home/user/watch" dizinine yeni dosya eklendiğinde veya mevcut dosyada değişiklik olduğunda, bu durumu otomatik olarak kaydetmek veya başka bir işlemi tetiklemek isteyebilirsiniz. Aşağıda temel bir örnek veriyorum:

CODE
123456789101112
#!/bin/bash

WATCH_DIR="/home/user/watch"
LOG_FILE="/home/user/logs/watch.log"

inotifywait -m -e create,modify,delete --format '%w%f %e' "$WATCH_DIR" | while read FILE EVENT
do
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
    echo "[$TIMESTAMP] $FILE - Event: $EVENT" >> "$LOG_FILE"
    # İstersen burada başka işlemler de eklenebilir
done


Burada kullanılan ana parametreler:
  • -m : sürekli izleme modunu aktif eder.
  • -e : izlenecek olayları belirtir (create, modify, delete gibi).
  • --format : olayın detaylarını özelleştirerek kaydeder.


Bu script, ilgili dizindeki olayları anlık olarak yakalar ve loglar. Performans ve güvenlik açısından, özellikle yüksek trafikli dizinlerde kullanmadan önce test edilmesi ve gerekirse olay filtreleriyle optimize edilmesi önemlidir. Ayrıca, uzun süreli çalışacak scriptlerde log dosyasını döndürmek veya arşivlemek gibi ek önlemler alınabilir.

Sizlerin de bu tarz gerçek zamanlı izleme çözümlerinde karşılaştığınız sorunlar veya ek özellik talepleriniz varsa, paylaşmanız durumu daha verimli hale getirebilir. Belirli olaylara özel otomasyonlar veya farklı senaryolar üzerine de tartışabiliriz.

You must be logged in to reply.

0 quotes selected