• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

GNU-Linux'da X Günden Daha Eski Dosyaların Silinmesi

TRWE_2012

Süper Moderatör
Üyelik Tarihi
2 Haz 2020
Konular
3,091
Mesajlar
5,890
MFC Puanı
20,830

Linux'ta 30 Veya 90 Günden Daha Eski Dosyalar Nasıl Silinir?​

Açıklama :

Bu, eski kullanılmayan dosyaları sunucunuzdan/bilgisayarınızdan kaldırmak için en iyi uygulamadır. Örneğin, sunucuda günlük/saatlik dosya veya veritabanı yedeklemesi yapıyorsak, bu durum sunucuda çok fazla gereksiz dosya&dizin oluşturulacaktır. Bu yüzden düzenli olarak temizleekte fayda vardır. Bunu yapmak için yedekleme dizininden eski dosyaları bulabilir ve temizleyebilirsiniz.

Bu makale, 30 günden eski dosyaları nasıl bulacağınızı ve sileceğinizi açıklamaktadır. Burada 30 gün daha eski, son değişiklik tarihinin 30 günden önce olduğu anlamına gelir.

30 Günden Eski Dosyaları Silin​


X günden daha eski değiştirilmiş tüm dosyaları aramak için find komutunu kullanabilirsiniz . Ayrıca gerekirse bunları tek komutla silebiliriz.

/var/log dizini altında 30 günden eski tüm dosyaları listeleme ;

Kod:
find /var/log -type f -mtime +30

ÖRNEK KOMUT VE ÇIKTISI :

1.png
Dosya listesini doğrulayın ve yukarıdaki komutta hiçbir yararlı dosyanın listelenmediğinden emin olun. Onaylandıktan sonra, aşağıdaki komutla bu dosyaları silerek sistem'den kaldırabilirsiniz.

Kod:
find /var/log -type f -mtime +30 -delete

Belirli Uzantılara Sahip Dosyaları Silin​

Tüm dosyaları silmek yerine, komutu bulmak için daha fazla filtre ekleyebilirsiniz. Örneğin, yalnızca “.log” uzantılı ve 30 günden önce değiştirilmiş dosyaları silinmek isteniyorsa;

Önce Analiz ;

Bash:
find /var/log -name "*.log" -type f -mtime +30

ÖRNEK KOMUT VE ÇIKTISI :

2.png

Sonra Sistem'den Kalıcı Silme : (Liste doğrulandıktan sonra, aşağıdaki komutu çalıştırarak bu dosyaları silin)

Bash:
find /var/log -name "*.log" -type f -mtime +30 -delete

Eski Dizini Tekrar Tekrar Silme...​


delete komutu, dizin boş değilse , başarısız olabilir . Bu durum da rm komutunu find komutunun argümanı şeklinde kullanmak daha doğru olacaktır.

Aşağıdaki komut, /var/log dizini altında 90 günden önce değiştirilen tüm dizinleri arayacaktır.

Bash:
find /var/log -type d -mtime +90

ÖRNEK KOMUT VE ÇIKTISI :
3.png

-exec : Burada komut satırı seçeneğini kullanarak rm komutunu çalıştırabiliriz . Find komutu çıktısı girdi olarak rm komutuna gönderilecektir.

90 günden daha eski ve değiştirilmiş dosya ve dizinlerin silinmesi

Bash:
find /var/log -type d -mtime +90 -exec rm -rf {} \;

m, {} ve \ arasında boşluklar olduğuna dikkat edin;

Açıklama

  • İlk argüman dosyaların yoludur. Bu, yukarıdaki örnekte olduğu gibi bir yol, dizin veya joker karakter olabilir. Tam yolu kullanmanızı ve doğru sonuçları aldığınızdan emin olmak için komutu exec rm olmadan çalıştırdığınızdan emin olun.
  • İkinci argüman, -mtime, dosyanın kaç gün önce olduğunu belirtmek için kullanılır. +90 girerseniz 90 günden eski dosyaları bulur.
  • Üçüncü argüman, -exec, rm gibi bir komut iletmenize izin verir. {} \; sonunda komutu bitirmek için gereklidir.
Bu komut, Ubuntu, Suse, Redhat veya hemen hemen tüm linux sürümlerinde çalışmaktadır.
 
Son düzenleme:
Üst