Sistem performansını izlemek ve analiz etmek amacıyla kullanılan "sar" komutu, Linux sistemlerinde CPU, bellek, disk ve ağ kullanımı gibi önemli metrikleri toplar. Bu verilerin uzun vadeli saklanması ve düzenli arşivlenmesi, performans analizi ve sorun giderme açısından kritik öneme sahiptir. Bu noktada, "cron" zamanlayıcı sistemi, otomatik ve düzenli yedekleme işlemlerinin gerçekleştirilmesi için ideal bir araç sağlar.
İlk adım, sar komutunun topladığı verileri uygun biçimde dışa aktarmaktır. Örneğin, günlük veya saatlik raporlar almak için aşağıdaki gibi bir komut kullanılabilir:
1sar -A 1 1 > /var/log/sar/[icode]date +%Y-%m-%d_%H-%M-%S[/icode].log
Bu komut, anlık sistem durumu raporunu belirli bir dosyaya kaydeder. Ancak, otomatik ve sürekli işlem için bu komut, cron görevi olarak ayarlanmalıdır. Örneğin, her saat başında çalışmasını sağlamak için:
10 * * * * /usr/bin/sar -A 1 1 > /var/log/sar/[icode]date +\%Y-\%m-\%d_\%H-\%M-\%S[/icode].log
şeklinde bir cronJob eklenebilir. Burada, dosya isimlerine tarih ve saat bilgisi eklenerek her raporun benzersiz olması sağlanır.
Arşivleme aşamasında, toplanan log dosyalarını sıkıştırmak ve uzun vadeli depolama alanını optimize etmek faydalıdır. Bunu yapmak için, cron ile belirli aralıklarla çalışacak bir betik yazılabilir:
1tar -czf /var/log/sar/archive_[icode]date +%Y-%m-%d[/icode].tar.gz /var/log/sar/[i].log && find /var/log/sar/ -type f -name "[/i].log" -delete
Burada, günlük veya haftalık arşivleme sonrası loglar silinir, böylece disk kullanımı kontrol altında tutulur. Ayrıca, uzak yedekleme veya bulut depolama entegrasyonu da düşünülebilir.
Sonuç olarak, sar verilerini cron ile otomatik arşivlemek, sistem performansını sürekli izlemek ve geçmiş verileri düzenli tutmak açısından oldukça verimli ve pratiktir. Siz de bu otomasyon yöntemiyle zaman ve kaynak tasarrufu sağlayabilir, analiz süreçlerinizi daha düzenli hale getirebilirsiniz. Bu yöntemi uygularken karşılaştığınız sorunlar veya ek önerileriniz neler?