जैसा कि चिबॉर्ग ने टिप्पणी की है, लोड हर फ़ाइल के लिए आरएम शुरू करने के कारण है। मैंने उस उत्तर पर ध्यान tmpwatch
दिया जहां एक विकल्प के रूप में सुझाव दिया गया है, जो मुझे यकीन है कि अच्छी तरह से काम करता है। हालाँकि, यह आवश्यक नहीं है।
खोजें एक बार निष्पादित करने के लिए दी गई कमांड को चला सकते हैं, यदि आप इसे कहते हैं कि मिली फाइलों को तर्कों की सूची में संचित करें:
find /path -name "*.moo" -exec rm {} \+
यह कभी-कभी काम करने में विफल हो सकता है क्योंकि तर्क सूची शेल (गेटकोन ARG_MAX) द्वारा अनुमत अधिकतम से अधिक (बाइट्स में) बढ़ सकती है। इसे -L विकल्प के साथ xargs द्वारा हल किया जा सकता है।
इस उदाहरण पर विचार करें:
$ echo 0 > /tmp/it;
$ for i in {0..15000};do echo $i;done |\
xargs --no-run-if-empty -L 5000 ./tmp/xr.sh
Iteration=0; running with 5000 arguments
Iteration=1; running with 5000 arguments
Iteration=2; running with 5000 arguments
Iteration=3; running with 1 arguments
$ cat tmp/xr.sh
#!/bin/sh
IT=`cat /tmp/it`
echo Iteration=$IT\; running with $# arguments
let IT=IT+1
echo $IT > /tmp/it
तो कोई अतिरिक्त सॉफ़्टवेयर स्थापित करने की आवश्यकता नहीं है, आपको केवल ग्नू-खोज्यूटिल्स की आवश्यकता है:
find /path -mtime +30 -print0 | xargs -0 -L 5000 rm
cache*
कई फ़ाइलों का विस्तार होता है, तो आपfind . -name 'cache*' -mtime +30 -exec rm {} \;
इसके बजाय कुछ आज़माना चाह सकते हैं ।