मेरे वेब एप्लिकेशन में मैं PHP स्क्रिप्ट का उपयोग कर पेज प्रस्तुत करता हूं, और फिर उनसे स्थिर HTML फ़ाइलों को उत्पन्न करता हूं। प्रदर्शन को तेज करने के लिए उपयोगकर्ताओं को स्थिर एचटीएमएल परोसा जाता है। अंततः एचटीएमएल फाइलें बदबू आ रही हैं, और उन्हें हटाने की जरूरत है।जो तेज़ है, 'find -exec' या 'find | xargs -0 '?
मैं तरीके बेदखली स्क्रिप्ट लिखने के लिए दोनों के बीच बहस कर रहा हूँ।
पहले एक भी खोजने के आदेश की तरह
find /var/www/cache -type f -mmin +10 -print0 | xargs -0 rm
प्रत्येक फाइल यह पाता है के लिए
प्रथम रूप का आह्वान rm
कुछ उपयोग कर रहा है, जैसे
find /var/www/cache -type f -mmin +10 -exec rm \{} \;
दूसरा रूप xargs के माध्यम से पाइप के द्वारा होता है, जबकि दूसरा फॉर्म सिर्फ सभी फ़ाइल नामों को एक rm
पर भेजता है (लेकिन फ़ाइल सूची बहुत लंबी हो सकती है)।
कौन सा फॉर्म तेजी से होगा?
मेरे मामले में, कैश निर्देशिका कुछ वेब सर्वरों के बीच साझा की जाती है, इसलिए यह सब एनएफएस पर किया जाता है, अगर यह इस मुद्दे के लिए मायने रखता है।
मुझे लगता है कि xargs स्वचालित रूप से (बिना -एल) कई प्रक्रियाओं को जन्म देगा यदि तर्क की संख्या अधिकतम शेल से अधिक है। – MatthieuP
धन्यवाद। मुझे नहीं पता था कि xargs ऐसा कर सकते हैं। – yhager