मैं एक रात का क्रॉन जॉब चलाना चाहता हूं जो एक सप्ताह या उससे अधिक समय तक एक्सेस न किए गए फ़ोल्डर की सभी फ़ाइलों को हटा देता है। बैश में ऐसा करने का सबसे कुशल तरीका क्या है?
मैं एक रात का क्रॉन जॉब चलाना चाहता हूं जो एक सप्ताह या उससे अधिक समय तक एक्सेस न किए गए फ़ोल्डर की सभी फ़ाइलों को हटा देता है। बैश में ऐसा करने का सबसे कुशल तरीका क्या है?
जवाबों:
आप find
उपकरण चाहते हैं ।
find folder -depth -type f -atime +7 -delete
(यह होगा हटाना सभी फ़ाइलें ( केवल नियमित रूप से लोगों को दिए गए फ़ोल्डर में, कोई पाइप, विशेष उपकरणों, निर्देशिका, सांकेतिक लिंक) और सभी सबडायरेक्टरियों (रिकर्सिवली) जहां पिछले उपयोग समय है से अधिक समय 7 दिन पहले।)
-type f
यह सुनिश्चित करना चाहते हैं कि यह केवल फाइलों को हटा दे, संपूर्ण निर्देशिकाओं को नहीं।
आप जांचना चाह सकते हैं कि tmpwatch
क्रोन जॉब में क्या रखा जा सकता है। के साथ रोल करने की जरूरत नहीं है find
। RHEL पर यह tmpwatch
RPM में है।
find
।
find
atime के आधार पर फ़िल्टर कर सकते हैं। Atime की "शुद्धता"noatime
बहुत कम से कम कॉन्फ़िगरेशन (देखें ) पर निर्भर करती है ।