एक फ़ोल्डर में 300k फ़ाइलों को संग्रहीत करने से समस्याएं हो सकती हैं?


1

मैं wget का उपयोग करके एक बड़ी वेबसाइट (200k पृष्ठों से अधिक) को क्रॉल कर रहा हूं (क्या बेहतर टूल btw है?)। Wget सभी फाइलों को एक डायरेक्टरी में सेव कर रहा है।

विभाजन एचएफएस (मुझे लगता है), क्या यह समस्याओं का कारण होगा अगर मेरे पास एक डीआईआर में सभी फाइलें हैं? यह मानकर कि मैं उन सभी को केवल कंसोल से एक्सेस करूंगा (मुझे पता है कि फाइंडर में dirs & gt; 5k फ़ाइलों के साथ समस्याएं हैं)।

या शायद एक माइक्रो-विभाजन बनाने का एक तरीका है जो संपीड़ित होगा और फ़ाइलों की इस राशि के लिए एक तेज, अनुकूलित उपयोग की अनुमति देगा?


आप विग के साथ किन झंडे का उपयोग कर रहे हैं?
Majenko

@ मट्ट: -नहीं, तुम क्यों पूछती हो?
kolinko

मैं आमतौर पर -m निर्दिष्ट करता हूं - यह मेरे लिए फ़ाइल ट्री संरचना रखता है - मुझे नहीं पता कि जिस साइट पर आप स्क्रैप कर रहे हैं उसका लेआउट है, लेकिन इससे प्रत्येक निर्देशिका में फ़ाइलों की संख्या कम हो सकती है।
Majenko

जवाबों:


1

अंतर्निहित फ़ाइल-सिस्टम की व्यवहार्यता के बावजूद, आपको वास्तव में एक निर्देशिका में कई फ़ाइलों को संग्रहीत करना चाहिए। जब उस निर्देशिका की सामग्री को ब्राउज़ करने का समय आता है, तो आपको जल्दी से पता चलेगा कि वहाँ बड़ी मात्रा में अंतराल है, जबकि ओएस फ़ाइल लिस्टिंग और इस तरह के निर्माण की कोशिश करता है। यह वास्तव में सिस्टम पर महत्वपूर्ण मात्रा में दबाव डालता है।

अधिकांश उपकरण वहाँ हैं जो किसी भी प्रकार का "वेब संग्रह" करते हैं, आमतौर पर वेबसाइट के लेआउट के समान एक निर्देशिका संरचना का निर्माण करेंगे। लगभग सभी वेबसाइटें रूट डायरेक्टरी से दूर अपनी सभी सामग्री को आधार नहीं बनाती हैं ... यानी mydomain.com/document-1 ... इसके पीछे उनके पास कुछ लॉजिस्टिक्स होंगे जो इसे कई रास्तों में विभाजित करते हैं (कई कारणों से) यानी छवियाँ mydomain.com/images में जाती हैं और गोल्डफ़िश के बारे में सामान mydomain.com/goldfish/ आदि में हैं ...

वहाँ कई उपकरण हैं जो कर सकते हैं & amp; आपके लिए इस प्रकार की निर्देशिका संरचना का निर्माण करेगा। यहां तक ​​कि wget के पास एक पूरी साइट डाउनलोड करने के लिए विकल्प हैं। व्यक्तिगत रूप से, मैंने उपयोग किया है " httrack "अतीत में, और यह काफी अच्छी तरह से काम करता था। पूरी साइट को डाउनलोड करने के लिए wget के लिए कमांड-लाइन विकल्प भी हैं। the -r (पुनरावर्ती) विकल्प देखें। बस यह सुनिश्चित कर लें कि आपने अपनी डोमेन सूची सेट कर दी है ताकि आप डॉन न हों। ' कई साइटों पर असीम रूप से लिंक डाउनलोड न करें wget मैन पेज


2
निर्भर करता है कि आप निर्देशिकाओं को ब्राउज़ करने के लिए क्या उपयोग करते हैं। कोई भी gui client शायद बुरा (TM) होगा लेकिन मैं बैश शेल में linux पर खुश हूं।
PriceChild

@PriceChild मैं सहमत हूँ ... सिवाय इसके कि यह केवल GUIs नहीं है ... आम तौर पर क्रॉन जॉब्स होते हैं जो समय-समय पर अपडेटब जैसी चीजों को चलाते हैं और ftp / sftp / etc आदि का उपयोग करते हैं ... वास्तव में अनावश्यक रूप से संसाधनों की मात्रा को बढ़ा सकते हैं। यह आश्चर्यजनक है कि केवल एक निर्देशिका संरचना को विभाजित करके कितना बचाया जा सकता है। ध्यान रखें ... मैंने बहुत उपयोग किया चाहिए (TM) इस पोस्ट में। वहाँ बेशक हालात हैं ... लेकिन यह केवल एक वैकल्पिक समाधान के साथ सलाह है।
TheCompWiz

इसके बजाय क्या उपयोग करने के लिए कोई सुझाव? मैं एक त्वरित और आसान फ़ाइल को कंसोल से प्राप्त करना चाहता हूं (मैं regexpes और उन पर इस तरह चलाने की योजना बना रहा हूं) - मैं फ़ाइलों को डायरियों में विभाजित नहीं करना चाहता क्योंकि शेल स्क्रिप्ट लिखना जो सभी फाइलों का विश्लेषण करेगा दर्द हो तो।
kolinko

1
1 शब्द। egrep। लगभग सभी * निक्स टूल के पास एक लक्ष्य के नीचे सभी निर्देशिकाओं को खोजने के लिए एक पुनरावर्ती विकल्प है ... egrep -R some_word / some / path हर निर्देशिका के माध्यम से "some_word" के लिए खोज और उचित परिणाम वापस करने में सक्षम होगा। त्वरित और amp; आसान आमतौर पर विलोम हैं। यह त्वरित, लेकिन मुश्किल काम हो सकता है - == या == - आसान लेकिन धीमा। यह इस बारे में अधिक जानने में मदद करेगा कि आप इसे पूरा करने की कोशिश कर रहे हैं। शायद एक बेहतर विकल्प कच्चे-फाइलों का उपयोग करने के बजाय एक अनुक्रमित डेटाबेस में सामग्री को फेंकना होगा ...
TheCompWiz

आप सही कह रहे हैं, जैसे मुझे चाहिए। धन्यवाद, जैसा आप कहेंगे वैसा ही करूंगा :)
kolinko

-1

विकिपीडिया बताता है कि HFS की फाइल सीमा 65535 है। इसलिए यदि आपका विभाजन वास्तव में HFS है, तो आप इसे हिट करेंगे।


विकिपीडिया से:

इसके अतिरिक्त, 65,535 की सीमा   आवंटन ब्लॉकों में परिणाम हुआ फ़ाइलें   "न्यूनतम" आकार समतुल्य होना   1 / 65,535 वां डिस्क का आकार। इस प्रकार,   किसी भी मात्रा, कोई फर्क नहीं पड़ता इसके आकार,   अधिकतम 65,535 ही स्टोर कर सका   फ़ाइलें। इसके अलावा, कोई भी फ़ाइल होगी   वास्तव में इससे अधिक स्थान आवंटित किया   जरूरत है, आवंटन ब्लॉक तक   आकार। जब डिस्क छोटे थे, यह था   थोड़ा परिणाम, क्योंकि   व्यक्तिगत आवंटन ब्लॉक आकार था   तुच्छ, लेकिन डिस्क के रूप में शुरू कर दिया   दृष्टिकोण 1 जीबी, सबसे छोटा   अंतरिक्ष की राशि जो कोई भी फ़ाइल कर सकता है   कब्जा (एक आवंटन ब्लॉक)   अत्यधिक बड़े हो गए, बर्बाद कर रहे हैं   डिस्क स्थान की महत्वपूर्ण मात्रा। के लिये   उदाहरण के लिए, 1 GB डिस्क पर,   एचएफएस के तहत आवंटन ब्लॉक का आकार 16 है   KB, इसलिए 1 बाइट फ़ाइल भी होगी   डिस्क स्थान के ऊपर 16 KB। यह स्थिति   उपयोगकर्ताओं के लिए एक समस्या कम थी   बड़ी फाइलें (जैसे चित्र,   डेटाबेस या ऑडियो) क्योंकि ये   बड़ी फ़ाइलों को कम जगह के रूप में बर्बाद किया   उनके फ़ाइल आकार का प्रतिशत। उपयोगकर्ता   कई छोटी फाइलों के साथ, दूसरे पर   हाथ, एक प्रचुर मात्रा में खो सकता है   बड़े आवंटन ब्लॉक के कारण स्थान   आकार। यह विभाजन डिस्क बना दिया   बहुत तार्किक मात्रा में   मैक उपयोगकर्ताओं के लिए अपील, क्योंकि छोटे   एक छोटी मात्रा पर संग्रहीत दस्तावेज़   अगर की तुलना में बहुत कम जगह ले जाएगा   वे एक बड़े विभाजन पर निवास करते थे।   FAT16 फ़ाइल में समान समस्या मौजूद थी   प्रणाली।


मेरा मानना ​​है कि यह मैक ओएस के संस्करण पर निर्भर करता है जिसका उपयोग किया जा रहा है। मुझे लगता है कि ओएस एक्स (सभी संस्करण) एक नई विभाजन प्रणाली का उपयोग करते हैं जो इस समस्या को कम करता है।
Joshua Nurczyk

5
क्या आप शायद जिक्र कर रहे हैं HFS + ? हजारों लाखों में इसकी अधिकतम फाइल संख्या है।
PriceChild

हाँ, तुम मुझे मिल गया, मैं इसे देखने के लिए बहुत आलसी था। वह मुझे सिखा देंगे।
Joshua Nurczyk

1
मैं हो शायद 50p शर्त लगाने के लिए तैयार रहें मर्लिन HFS + का उपयोग HFS के बजाय कर रहे हैं ... :-)
PriceChild

3
ड्राइव 300GB है, और इसे हाल ही में स्वरूपित किया गया था, इसलिए यह शायद HFS + :) है
kolinko
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.