Auteur de la discussion #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:
CODE
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:
CODE
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:
CODE
1find /hedef/klasor -type f -name "*.log" -printf "%p\n" | wc -l

İzinleri 644 veya belirli bir modda olan dosyaları raporlamak için:
CODE
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:
CODE
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:
CODE
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:
CODE
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:
CODE
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:
CODE
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.

Vous devez être connecté pour répondre.

Utilisateurs qui consultent cette discussion (Total: 1, Membres: 1, Invités: 0)
Sis
Total: 1 (membres: 1, invités: 0)
0 citations sélectionnées