find ile rapor oluşturma

0 Ответов 4 Просмотра
Оценившие
Участники
Автор темы #1
[quote]Konuya genel bir bakış: find komutu, dosya sistemi üzerinde belirli kriterlere göre arama yapmanızı ve bu aramadan elde ettiğiniz sonuçları farklı biçimlerde raporlamanızı sağlar. Özellikle kök dizine bağlı binlerce dosyanın bulunduğu ortamlarda, hangi dosya türlerinin var olduğunu, belirli tarihlere sahip dosyaları veya izinleriyle ilgili durumları hızlıca özetlemek için kullanışlı bir araçtır. Aşağıda, yaygın ihtiyaçlar için uygulanabilir senaryolar ve rapor oluşturma teknikleri sunulmuştur.

1) Dosya sayısını ve genel yapıyı raporlama
Bir dizin ağacında bulunan dosya sayısını ve alt dizinleri özetlemek için:
КОД
12find /hedef/klasor -type f | wc -l
find /hedef/klasor -type d | wc -l

Bu iki komut, toplam dosya sayısını ve dizin sayısını basit bir rapor halinde verir. Eğer alt dizinleri dahil etmek istemiyorsanız -maxdepth kullanarak raporu daraltabilirsiniz:
КОД
1find /hedef/klasor -maxdepth 2 -type f | wc -l


2) Belirli kriterlere göre filtreleme ve özet raporları
Belirli uzantılara sahip dosyaları rapor etmek için:
КОД
1find /hedef/klasor -type f -name "*.log" -printf "%p\n" | wc -l

İzinleri 644 veya belirli bir modda olan dosyaları raporlamak için:
КОД
1find /hedef/klasor -type f -perm 0644 -printf "%p\n" | wc -l

Bu çıktılar, hangi dosyaların politikaya uyduğunu hızlıca özetler.

3) Tarihsel raporlama: son değişiklikler ve karşılaştırmalar
Son 7 gün içinde değiştirilmiş dosyaları bulup özetlemek:
КОД
1find /hedef/klasor -type f -mtime -7 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort

Ayrıca belirli bir tarih aralığını görmek için -newerXY/ -newerct gibi seçeneklerle karşılaştırmalı raporlar üretebilirsiniz.

4) Dosya boyutu üzerinden raporlama
Büyük dosyaları listelemek ve boyutlarına göre sıralamak:
КОД
1find /hedef/klasor -type f -printf "%kKB %p\n" | sort -n -k1

İstersen çıktıyı boyuta göre filtrelemek için awk ile bir eşik belirleyebilirsin:
КОД
1find /hedef/klasor -type f -printf "%s %p\n" | awk '$1>=1048576' | sort -nr


5) Raporun çıktısını düzenli bir dosyaya aktarma
Bir raporu düzenli bir dosyada tutmak için:
КОД
1find /hedef/klasor -type f -name "*.conf" -printf "%p\t%kKB\t%TY-%Tm-%Td\n" > rapor.txt


Sonuçları birleşik bir tablo halinde görmek için temel bir yaklaşım da mümkün:
КОД
1printf "dosya_path\tboyut_kb\tson_degistirme\n"; find /hedef/klasor -type f -printf "%p\t%k\t%TY-%Tm-%Td %TH:%TM\n" | sort


Bu teknikler, find ile rapor oluşturmada esnekliğinizi artırır ve günlük, güvenlik veya bakım süreçlerinde hızlı kararlar almanıza yardımcı olur. Kullandığınız iş akışına göre -printf formatını ve filtreleri ayarlayarak farklı raporlar elde etmek mümkün. Başka hangi kriterler üzerinden rapor üretmek istersiniz? Örneğin izin, kullanıcı sahipliği veya yapılan değişiklikler gibi ek filtreler üzerine konuşalım.

Чтобы ответить, необходимо войти в систему.

Пользователи, просматривающие эту тему (Всего: 1, Участники: 1, Гости: 0)
Sis
Всего: 1 (участники: 1, гости: 0)
0 цитат выбрано