Kullanma find
:
find ~/tmp -type f -mtime +0 -delete
~/tmp
özyinelemeli olarak aranacak dizin, buna göre değiştirin
-type f
sadece dosyaları arayacak
-mtime +0
en son bir gün veya daha önce değiştirilmişse bir dosyayla eşleşecek
-delete
sadece eşleşen dosyaları kaldıracak
Burada yakalama -mtime +0
, çoğu kullanmayı düşünebilir, -mtime +1
ancak find
günleri hesaplarken herhangi bir kesirli zamanı göz ardı edecektir. Dolayısıyla, -mtime +1
son değişiklik en az 2 gün önce yapılmışsa bir dosyayla eşleşir.
Alıntı yapmak man find
, -mtime
şu zamanlama kuralına sahiptir -atime
:
-atime n
Dosyaya en son 24 saat önce erişildi. Bul, dosyaya en son kaç saatlik 24 saat önce erişildiğini anladığında, kesirli kısımlar yok sayılır, bu nedenle -atime +1 ile eşleşmek için en az iki gün önce bir dosyaya erişilmiş olmalıdır.
Ayrıca, doğruluk istiyorsanız, zamanı dakika cinsinden belirtme -mmin
seçeneğine de bakmanız gerektiğini unutmayın find
.
3 saat sonra periyodik olarak çalıştırmak için bir cron
giriş ekleyebilirsiniz .
Çalıştır crontab -e
ve ekle:
00 */3 * * * /usr/bin/find ~/tmp -type f -mtime +0 -delete
zsh
Dosyaları kaldırmak için kullanma :
rm ~/tmp/**/*(.-m+0)
Ekleniyor cron
:
00 */3 * * * /usr/bin/zsh -c 'rm ~/tmp/**/*(.-m+0)'