Bunu aşağıda yapacak bir senaryo yazdım - lütfen çalıştırmadığınızdan, özellikle rm -r komutundan memnun olup olmadığınızı iki kez kontrol edin. (Bu komut, alt klasörler dahil, verilen klasördeki her şeyi silmelidir.
#! /bin/bash
FOLDER=/folder/to/delete
MAXSIZEINGIGS=10
#### No User Serviceable Parts below this line ###
MAXSIZE=$(( $MAXSIZEINGIGS * 1024 * 1024 ))
FOLDERSIZE=`du -ks $FOLDER | cut -f1`
if [ $FOLDERSIZE -gt $MAXSIZE ]
then
rm -r $FOLDER/*
fi
Yukarıdaki komut dosyası ile bir dosya oluşturun, sonra çalıştırılabilir hale getirin (chmod 755 dosyaadı) ve crontab'a benzer bir satırla ekleyin
02 02 * * * ownername /path/to/file
(Bu her sabah 02: 02'de çalışır ve / etc / crontab dosyasına eklediğinizi varsayar. Bir crontab kullanıcısına eklediyseniz, "ownername" bitini bırakın.
Bu, bunun bir şeyler yapmanın iyi bir yolu olup olmadığını merak ediyorum dedi. Tamamen farklı bir yaklaşım, belli bir yaşa göre daha eski olan tüm dosyaları düzenli aralıklarla kaldırmak olabilir - crontab gibi 1 liner ile bunu yapabilirsiniz
02 04 * * * username find /data/spam -ctime +15 -exec rm {} +
Daha sonra tüm dosyaları 14 gün sonra / data / spam olarak arayacak ve silecektir.