2015-12-30 9 views
5

मैं सभी फ़ाइलें एक विशिष्ट निर्देशिका (300.000 के बारे में inodes के साथ) में अंतिम मिनट में बदल रहे थे पता लगाने के लिए एक cronjob हर मिनट चलाने के लिए और एक csv करने के लिए इस फ़ाइल को सूची निर्यात चाहते हैं पता लगाने के लिए।cronjob अंतिम बार संशोधित फ़ाइलों

यह है कि ऐसा करने के लिए एक अनुकूलित आदेश को चलाने के लिए संभव है? मैं इस निर्देशिका में सॉर्ट ध्वज के साथ "ढूंढें" चला सकता हूं क्योंकि यह बहुत बड़ा है और संभवतः सभी फ़ाइलों को चलाने में 1 मिनट से अधिक समय लगेगा।

कोई आदेश मुझे लगता है कि कर सकते हैं? या किसी भी विशिष्ट प्रोग्राम को सर्वर की पृष्ठभूमि पर चलाएं जो हर बदली गई फ़ाइल को बदलता है क्योंकि यह बदल जाता है? यदि ऐसा करने के लिए PHP का उपयोग करके कोई आदेश है तो मैं ठीक हूं, मैं एक PHP स्क्रिप्ट निष्पादित करने के लिए एक क्रॉन बना सकता हूं, कोई समस्या नहीं।

+0

खोज काम नहीं करता है, तो शायद आईओ टोंटी है, इसलिए यह अप्रासंगिक है अगर आप का उपयोग करें 'खोज' या किसी अन्य विधि फ़ाइलों के mtime निर्धारित करने के लिए। अपने आईओ सुधारने के लिए एक विधि पर ध्यान केंद्रित करें। – Ctx

+0

फाइलों को क्या लिख ​​रहा है? क्या यह वहां किया जा सकता है? – Martin

+1

'incrontab' का प्रयोग करें। यह फ़ाइल घटनाओं (जैसे कि संशोधित रूप में) को छोड़कर सामान्य 'crontab' तरह काम करता है: http://manpages.ubuntu.com/manpages/intrepid/man5/incrontab.5.html –

उत्तर

2

एक लिनक्स उपयोगिता कि सामान्य क्रॉन के लिए इसी तरह इस्तेमाल किया जा सकता incron कहा जाता है, लेकिन बजाय घटनाओं समय आधारित किया जा रहा है, वे inotify के बंद काम करते हैं और फ़ाइल की घटनाओं से निकाल दिया जाता है।

आप उबंटू आदमी पृष्ठ यहाँ पा सकते हैं: http://manpages.ubuntu.com/manpages/intrepid/man5/incrontab.5.html

मैं व्यक्तिगत रूप से कुछ भी बहुत जटिल के लिए इसका इस्तेमाल करने के लिए किया था नहीं किया है, लेकिन यह मोटे तौर पर इस प्रकार है:

यह स्थापित करें:

sudo apt-get install incron 

खुला एक प्रविष्टि जोड़ने के लिए संपादक:

incrontab -e 

इस तरह कुछ डालें:

/var/www/myfolder IN_MODIFY curl https://www.example.com/api/file-updated/$# 

पहला भाग फ़ाइल या फ़ोल्डर देखने के लिए है। दूसरा भाग घटना है। और तीसरा हिस्सा कमांड है।

I लगता है कि $# प्रश्न में फ़ाइल के प्लेसहोल्डर है।

+0

आप महान हैं! :) – Samul

+0

हे, खुशी है कि मैं मदद कर सकता हूं :-) –

+0

यह वास्तव में दिलचस्प है। धन्यवाद। –

संबंधित मुद्दे