Olası Çoğalt:
Delete all but the most recent X files in bashBash komut tüm ama son 5 dizinleri
Ben günlük artımlı yedeklerini oluşturmak için bir komut dosyası var ve tüm yedekleri ancak 5 son silmeniz gerekir.
drwxr-xr-x 4 root root 4096 Oct 29 01:10 2010-10-29 drwxr-xr-x 4 root root 4096 Oct 30 01:10 2010-10-30 drwxr-xr-x 4 root root 4096 Oct 31 01:10 2010-10-31 drwxr-xr-x 4 root root 4096 Nov 1 01:10 2010-11-01 drwxr-xr-x 4 root root 4096 Nov 2 01:10 2010-11-02 drwxr-xr-x 4 root root 4096 Nov 3 01:10 2010-11-03 drwxr-xr-x 4 root root 4096 Nov 4 01:10 2010-11-04 drwxr-xr-x 4 root root 4096 Nov 5 01:10 2010-11-05 drwxr-xr-x 4 root root 4096 Nov 6 01:10 2010-11-06 drwxr-xr-x 4 root root 4096 Nov 7 01:10 2010-11-07 drwxr-xr-x 4 root root 4096 Nov 8 01:10 2010-11-08:
Örneğin, bu klasörler
Ve sadece son 5 dizini korumalı ve diğerlerini silmem gerekir. Komut yürütme sonra ben sadece bu olması gerekir:
drwxr-xr-x 4 root root 4096 Nov 4 01:10 2010-11-04 drwxr-xr-x 4 root root 4096 Nov 5 01:10 2010-11-05 drwxr-xr-x 4 root root 4096 Nov 6 01:10 2010-11-06 drwxr-xr-x 4 root root 4096 Nov 7 01:10 2010-11-07 drwxr-xr-x 4 root root 4096 Nov 8 01:10 2010-11-08
5 gün önceki silmenize gerek yok, ben şimdi kullanıyorum bütün hariç 5 son dizinleri :)
silmeniz gerekir :
find /backup/increment -maxdepth 1 -type d -mtime +5 -exec rm -rf {} \;
Ama zamanla dayanmayan iyileştirilmiş gerek :)
DÜZENLEME: Bu, tüm günlerde yedeklemeler yapan bir sunucu için bir örnektir, ancak son 5'in öncesindeki tüm klasörleri silen bir komut dosyasına ihtiyacım var çünkü bilgisayarım gece saat 00: 10'da yedekleme yapıyor, ancak tüm geceler yedeklemenin yapılmadığından bilgisayarım tüm günler çalışmıyor ve her zaman son 5 yedeklerini :)
, "Son 5" tutarındaki tanımı nedir? –
@dogbane teşekkürler ama @MartinStettner çözümü daha zarif bir çözüm gibi görünüyor :) – Lito
@David Ana yazıya bir yorum eklendi. – Lito