2012-06-14 18 views
5

जैसा व्यवहार करता है हम एक सापेक्ष सरल दस्तावेज़ भंडारण बनाना चाहते हैं लेकिन कुछ आवश्यकताएं हैं। मेरा विचार था कि जब फ़ाइल तुरंत स्टोरेज पर आती है तो एक फ़ाइल स्कैन और एक अलग उपकरण/डिमन द्वारा नियंत्रित की जाती है।लिनक्स के तहत एक निर्देशिका कैसे बनाएं जो पाइप

(छद्म) डीएमएस को एनएफएस और सांबा के माध्यम से पहुंच प्रदान करनी चाहिए। जैसा कि मैंने अभी तक देखा है, आने वाली फ़ाइल को कुछ हुक में पास करने के लिए पाइप ठीक होंगे। लेकिन मुझे आश्चर्य हुआ कि एक पाइप के रूप में निर्देशिका बनाने का कोई तरीका है या नहीं। मैंने अभी तक केवल नामित पाइप देखे हैं।

प्रक्रिया जो किसी भी आने वाली फ़ाइल को इस निर्देशिका में लेनी चाहिए वह एक PHP स्क्रिप्ट है जो एमआईएमई टाइप अनुमान, सीआरसी 32 चेक (डीबी में मूल्य के विरुद्ध) जैसी कुछ करना चाहिए ... क्या किसी को यह संकेत है कि यह कैसे करें?

संपादित करें: मुझे आशा है कि यह निम्नलिखित विवरण के साथ एक सा साफ है - मैं एक तरह से सांबा और एनएफएस के माध्यम से एक "समाप्ति बिंदु" जहां फाइलों रखा जा सकता है कि वायरस स्कैनिंग और मेटा प्रक्रिया के द्वारा नियंत्रित किया जाता है प्रदान करने के लिए की तलाश में हूँ तुरंत (और अंत में संग्रहीत)।

+1

आप पाइप। सुनिश्चित नहीं है कि "पाइप के रूप में निर्देशिका बनाने" का क्या मतलब है – Attila

+0

मैंने नामित पाइपों के बारे में सोचा (जिसका उपयोग डेटा को 'बिल्ली [फ़ाइल]> name_pipe' के साथ या डेटा से प्राप्त करने के लिए किया जा सकता है) - लेकिन यह केवल एक था पहले अंधेरे में गोली मार दी। मैं एक तरह से सांबा और एनएफएस जहां फाइलों रखा जा सकता है के माध्यम से एक "समाप्ति बिंदु" जो तुरंत वायरस स्कैनिंग और मेटा प्रक्रिया के द्वारा नियंत्रित किया जाता है प्रदान करने के लिए की तलाश में हूँ। यह वास्तविक समय प्रसंस्करण प्रदान करना चाहिए और बड़ी स्मृति खपत से बचें। – rabudde

+0

मुझे sendmail * डेमन की याद दिलाता है। मेल sendmail द्वारा संसाधित/var/spool/mqueue फ़ोल्डर में जाता है और अंत में स्थानांतरित हो जाता है (या हटा दिया जाता है)। –

उत्तर

9

आप FUSE का उपयोग एक मध्यवर्ती Linux फ़ाइल सिस्टम है कि अपने वास्तविक फाइल सिस्टम (बैकएंड फाइल सिस्टम) के शीर्ष पर बैठता है लागू करने के लिए कर सकते हैं और है कि किसी भी प्रदर्शन आखिरकार बैकएंड को लिखने से पहले आपको डेटा पर सत्यापन की आवश्यकता है। फिर, आप उस फाइल सिस्टम को एनएफएस/सांबा के माध्यम से सेवा देते हैं।

एक और संभावना inotify एपीआई का उपयोग कुछ फाइल सिस्टम पेड़ में बदलावों के बारे में अधिसूचित होने और आवश्यक संचालन करने के लिए है। इस दृष्टिकोण के साथ समस्या यह है कि प्रसंस्करण असीमित हो जाएगा, इसलिए मैलवेयर फ़ाइलों को थोड़े समय तक प्रकाशित किया जाएगा जब तक वे स्कैन और हटाए जाएं।

अद्यतन: ClamFS बिलकुल ठीक है!

+0

यह दिलचस्प लगता है, मैं उपकरण को अगले सप्ताह, टैंक का प्रयास करने दूंगा। – rabudde

2

क्या आप वास्तव में यह एक एसएमबी या एनएफएस शेयर होने की आवश्यकता है? मैं पतला हूं कि आप शायद कुछ कस्टम सर्वर कोड लिखने/लिखने से बेहतर हैं। एसएमबी और एनएफएस आपके उपयोग के मामले से सामान्य फ़ाइलें, काफी दूर हस्तांतरण करने के लिए डिजाइन किए गए थे

+1

मुझे वास्तव में इसे सांबा और एनएफएस होने की आवश्यकता है, हमारे लिए कोई अन्य विकल्प नहीं है। – rabudde

3

यदि मैं आपको सही ढंग से समझता हूं, तो आप अंत उपयोगकर्ताओं को उनके फ़ाइल सिस्टम में एकीकृत एक बहुत ही आसान इंटरफ़ेस प्रदान करना चाहते हैं। वे अपने ऑपरेटिंग सिस्टम पर एक साधारण फ़ोल्डर देखेंगे, वे फाइलों की प्रतिलिपि बनायेंगे और उन्हें स्थानांतरित करेंगे, उनका नाम बदलें, आदि। वे अपने कंप्यूटर पर किसी अन्य फ़ोल्डर पर जो भी कर रहे हैं।

हालांकि, यह फ़ोल्डर पृष्ठभूमि में एक वास्तविक फ़ोल्डर नहीं होगा। आप इस फ़ोल्डर पर संचालन पर पूरा नियंत्रण रखना चाहते हैं। जब वे इस फ़ोल्डर में फ़ाइल कॉपी करते हैं, तो आप एक PHP स्क्रिप्ट को संभालने के लिए चाहते हैं। जब वे इस विशेष के तहत एक नया फ़ोल्डर बनाते हैं, तो एक और PHP स्क्रिप्ट इसका ख्याल रखेगी।

जैसा कि साल्वा ने सुझाव दिया था, अपने आप पर एक फाइल सिस्टम इंटरफ़ेस बनाना वास्तव में एक अच्छा समाधान है; लेकिन यह जल्दी नहीं है और न ही एक आसान है। चूंकि आपने PHP को अपने बैकएंड के रूप में वर्णित किया है, मुझे लगता है कि आप उच्च स्तर के दृष्टिकोण चाहते हैं।

आपकी समस्या का ख्याल रखने के लिए दो पक्ष हैं: ग्राहक और सर्वर। क्लाइंट साइड पर, आपको एक फ़ाइल सिस्टम की आवश्यकता होती है जो पॉज़िक्स सिस्टम पर फ़ोल्डर के रूप में या विंडोज़ पर ड्राइव के रूप में माउंट करना आसान है। इसके लिए कई विकल्प हैं, जैसा कि आपने उल्लेख किया है, सांबा और एनएफएस उनमें से दो हैं।

जैसा कि मैंने समझा, आप PHP में इसका सर्वर पक्ष कर रहे होंगे। इसे ध्यान में रखते हुए, मैं सांबा या एनएफएस के बजाय वेबडाव का उपयोग करने का सुझाव दूंगा। सर्वर पक्ष पर लागू करना बहुत आसान है। यह लगभग हर आधुनिक ऑपरेटिंग सिस्टम पर उपलब्ध है।वेबडैव एक्सेस के लिए ब्राउज़र प्लगइन्स भी हैं ताकि आप अपने ग्राहकों के लिए कई इंटरफेस प्रदान कर सकें।

सर्वर साइड पर, यदि आप PHP का उपयोग करें, वहाँ एक खुला स्रोत php पुस्तकालय sabredav कहा जाता है। Google पर बस एक त्वरित खोज के साथ, मुझे इसके लिए a tutorial भी मिला है।

इस सेटअप में, आप फ़ाइलों को जिस तरह से आप चाहते हैं संभाल कर सकते हैं। यह PHP सर्वर के लिए आपके सिस्टम में nginx या Apache जैसे वेब सर्वर को एम्बेड करके या आपके सर्वर पर चल रही एक सेवा के रूप में प्रदान करके एकल मशीन सिस्टम हो सकता है।

मुझे आशा है कि मैं सही ढंग से अपने प्रश्न समझ और इस समाधान के लिए आप देख रहे थे।

अद्यतन: आप की तरह मैं सुझाव दिया और यह वास्तव में सांबा और एनएफएस हो गया है एक अलग समाधान का उपयोग कर के लिए एक मौका नहीं है, तो; PHP में लागू करने के लिए दोनों प्रोटोकॉल वास्तव में बहुत अधिक हैं। यह एक बड़ा बोझ और दीर्घकालिक सिरदर्द होगा।

हालांकि, अगर आप सामान्य एनएफएस/सांबा सर्वर का उपयोग और अपने आवेदन के साथ पृष्ठभूमि में फ़ाइल अद्यतन नजर रखने के लिए कोशिश कर सकते हैं। इसका अर्थ यह है कि आप विशेष टैग्स जैसे फ़ाइल टैगिंग या वायरस स्कैनिंग प्रदान करना चाहते हैं, संभवतः स्वीकार्य विलंबता के साथ उपलब्ध होंगे। इसे कार्यान्वित करने के लिए, आप सिस्टम पर सभी फाइलों और फ़ोल्डरों की जांच के साथ जा सकते हैं और संशोधित/नए लोगों पर काम कर सकते हैं। एक आसान बात प्रत्येक क्रिया के लिए लॉगिंग तंत्र के साथ सर्वर का उपयोग करेगा और उनके लॉग का पालन करेगा। यह क्लाइंट मशीनों को सीधे इंटरफेस करने से भी बेहतर हो सकता है। यदि आप अपने सिस्टम को सही तरीके से आर्किटेक्ट करते हैं, तो फ़ाइल संशोधनों और उन्हें प्रोसेसिंग के बीच विलंबता बहुत बड़ी प्रणाली पर भी वास्तव में उचित होगी। इसके लिए, nas4free वास्तव में एक अच्छा समाधान हो सकता है क्योंकि यह एक सिस्टम से कई इंटरफेस प्रदान करता है और its features page के अनुसार, इसमें syslog क्षमता है। प्रक्रियाओं, नहीं फ़ाइलों के बीच

+0

आपके महान उत्तर के लिए बहुत बहुत धन्यवाद। WebDAV बहुत दिलचस्प लगता है। लेकिन चूंकि इस समाधान को हमारी कंपनी में लागू किया जाना है, मुझे लगता है कि सालवास समाधान अधिक ठोस है (इसके अलावा मेटा सूचना के लिए स्कैनिंग जैसे कुछ अन्य पोस्ट हुक शामिल नहीं किए जा सकते हैं)। मैं आपके समाधान को आज़मा दूंगा, लेकिन अब नहीं क्योंकि प्रयोगों के लिए ज्यादा समय नहीं है। वास्तव में धन्यवाद – rabudde

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