Автор темы
#1
Find ile Yaşa Göre Dosya Envanteri
Yaşaya göre dosya envanteri oluşturmak, sistem yöneticileri için sık kullanılan bir ihtiyaçtır: eski dosyaları temizlemek, arşivlemek veya güvenlik politikalarını uygulamak için belirli bir zaman aralığında dosyaları belirlemek gerekir. Bu post, Linux tabanlı bir ortama sahip bir sunucuda find komutuyla nasıl esnek ve güvenli bir şekilde yaşa göre envanter çıkartabileceğinizi adım adım örneklerle anlatır.
Bu teknik birleşimi ile yaşa göre dosya envanteri oluşturarak temizleme, arşivleme ya da güvenlik taramaları için somut çıktılar elde edebilirsiniz. Özellikle büyük dosya kümelerinde performans için başlangıçta hedef dizinleri netleştirmek ve çıktıyı bir dosyaya yönlendirmek akıllıca olur. Bu yaklaşımda hangi senaryoyu hedefliyorsunuz? Belirli bir dizin veya güvenlik politikasıyla ilgili özelleştirilmiş filtreler var mı?
Yaşaya göre dosya envanteri oluşturmak, sistem yöneticileri için sık kullanılan bir ihtiyaçtır: eski dosyaları temizlemek, arşivlemek veya güvenlik politikalarını uygulamak için belirli bir zaman aralığında dosyaları belirlemek gerekir. Bu post, Linux tabanlı bir ortama sahip bir sunucuda find komutuyla nasıl esnek ve güvenli bir şekilde yaşa göre envanter çıkartabileceğinizi adım adım örneklerle anlatır.
- Temel fikir: Dosya oluşturma ve değiştirme zamanını kullanarak filtreleme. GNU find, -mtime, -ctime ve -atime seçenekleriyle dosyaların son işlem zamanını temel alır.
- En basit kullanım: Son 30 günde değiştirilmiş dosyaları bulmak için
КОД12
find /path/to/degisken -type f -mtime -30
Bu, bugün dahil olmak üzere son 30 gün içinde değiştirilmiş tüm dosyaları getirir. - Eski dosyaları listelemek: Belirli bir tarih öncesi kalan dosyalar için
КОД12
find /path/to/degisken -type f -mtime +365
Bu komut, 365 günden daha eski değiştirilmiş dosyaları gösterecektir. - Dosya oluşturma tarihiyle çalışmak: -ctime kullanımı, dosyanın metadata değiştiği durumları kapsar (ör. sahiplik değişikliği, izin değişikliği). Örneğin:
КОД12
find /var/log -type f -ctime +180
180 günden eski olan, son metadata değişikliği yapılmış dosyaları listeler. - Son erişim zamanı: -atime ile erişim süresine göre filtreleme yapabilirsiniz:
КОД12
find /home -type f -atime +90
90 günden eski erişilmiş dosyalar bu listede yer alır. - Çıktıyı daha kullanışlı hale getirmek: -print yerine -printf ile boyut, tarih gibi ek sütunlar eklenebilir:
КОД12
find /data -type f -mtime -7 -printf "%p\t%kKB\t%TD %t\n"
Bu, son 7 gün içinde değiştirilmiş dosyaları yol, boyut ve tarih ile listeler. - Gerçek envanter için kayıt oluşturma: Elde edilen dosyaları bir dosyaya yazdırmak için:
КОД12
find /backup -type f -mtime +365 -print > eski_dosyalar.txt
Bu, bir arşiv temizliği planı için temel bir liste üretir. - Güvenlik ve performans hatırlatması: Büyük dosya setlerinde, başlangıçta sınırlı bir alt dizin üzerinde test edin; -maxdepth ile derinliği sınırlayabilir ve -prune ile hariç tutmalar yapabilirsiniz.
- Örnek senaryo: 1 yıl önce değiştirilmiş, 100 MB’den büyük dosyaları tespit etmek için:
КОД12
find / -type f -mtime +365 -size +100M -print
Bu yaklaşım, yaş ve boyutu birlikte değerlendirerek riskli depolama alanlarını belirlemenize yardımcı olur.
Bu teknik birleşimi ile yaşa göre dosya envanteri oluşturarak temizleme, arşivleme ya da güvenlik taramaları için somut çıktılar elde edebilirsiniz. Özellikle büyük dosya kümelerinde performans için başlangıçta hedef dizinleri netleştirmek ve çıktıyı bir dosyaya yönlendirmek akıllıca olur. Bu yaklaşımda hangi senaryoyu hedefliyorsunuz? Belirli bir dizin veya güvenlik politikasıyla ilgili özelleştirilmiş filtreler var mı?
