2011-01-22 7 views
9

मुझे अपने लिनक्स सर्वर पर किसी भी लिंक की गई छवियों सहित पूर्ण पृष्ठों को संग्रहित करने की आवश्यकता है। सबसे अच्छा समाधान खोज रहे हैं। क्या सभी संपत्तियों को सहेजने का कोई तरीका है और फिर उन सभी को एक ही निर्देशिका में काम करने के लिए रिलिक करें?लिनक्स सर्वर पर एक पूर्ण वेबपृष्ठ सहेजने का सबसे अच्छा तरीका क्या है?

मैंने कर्ल का उपयोग करने के बारे में सोचा है, लेकिन मुझे यह सुनिश्चित नहीं है कि यह सब कैसे करें। इसके अलावा, क्या मुझे शायद PHP-DOM की आवश्यकता होगी?

क्या सर्वर पर फ़ायरफ़ॉक्स का उपयोग करने का कोई तरीका है और पते लोड होने या समान होने के बाद temp फ़ाइलों की प्रतिलिपि बनाने का कोई तरीका है?

कोई भी और सभी इनपुट स्वागत है।

संपादित करें:

ऐसा लगता है जैसे कि wget है 'नहीं' काम करने जा के रूप में फाइल प्रदान करने की जरूरत है। मेरे पास सर्वर पर फ़ायरफ़ॉक्स स्थापित है, क्या फ़ायरफ़ॉक्स में यूआरएल लोड करने का कोई तरीका है और फिर अस्थायी फ़ाइलों को पकड़ें और बाद में अस्थायी फ़ाइलों को साफ़ करें?

+0

क्या सभी सामग्री स्थिर है, या क्या गतिशील सामग्री भी है (PHP, JSP आदि)? – thkala

+0

यह क्लाइंट वेब ऐप का हिस्सा है इसलिए कुछ भी हो सकता है। सर्वर पर वर्तमान ब्राउज़र स्थिति भेजने के लिए जावास्क्रिप्ट या जावा या इसी तरह का उपयोग करना सबसे अच्छा होगा और फिर और क्या चाहिए। – Tomas

+1

अन्य विकल्प हैं [ब्राउज़र को एचटीएमएल + जावास्क्रिप्ट प्रदान करें] (https://stackoverflow.com/q/18720218) –

उत्तर

12

wget ऐसा कर सकते हैं, उदाहरण के लिए:

wget -r http://example.com/ 

इस पूरे example.com साइट को मिरर होगा।

कुछ रोचक विकल्प हैं:

-Dexample.com: अन्य डोमेन के लिंक का पालन नहीं करते
--html-extension: .html के लिए पाठ/html सामग्री प्रकार के साथ पृष्ठों का नाम बदलता है

मैनुअल: http://www.gnu.org/software/wget/manual/

+0

दोस्तों/gals, wget पूरी साइट मिल रही है। मैं इसे एक पृष्ठ देना चाहता हूं और बस उस पृष्ठ की सामग्री प्राप्त करना चाहता हूं। क्या मुझसे कोई चूक हो रही है? – Tomas

+0

'-l 1' का उपयोग करें; यह मिररिंग को 1 लेवल – arnaud576875

+1

'wget -m' तक सीमित कर देगा जो वर्तमान में '-r -N -l inf -no-remove-listings' – mb21

2
wget -r http://yoursite.com 

पर्याप्त होना चाहिए और छवियों/मीडिया को पकड़ना चाहिए। बहुत सारे विकल्प हैं जिन्हें आप इसे खिला सकते हैं।

नोट: मुझे विश्वास है कि wget और न ही कोई अन्य प्रोग्राम सीएसएस के माध्यम से निर्दिष्ट छवियों को डाउनलोड करने का समर्थन करता है - इसलिए आपको इसे मैन्युअल रूप से करने की आवश्यकता हो सकती है।

यहाँ कुछ उपयोगी तर्क हो सकता है: http://www.linuxjournal.com/content/downloading-entire-web-site-wget

+0

'wget' किसी भी छवि को HTML या CSS के अंदर या तो' -p' स्विच के साथ उपयोग किया जाता है। – SuB

5

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

$ wget -r -l 10 -p http://my.web.page.com/ 

या उसके कुछ बदलाव।

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

संपादित करें:

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

यदि आप वर्चुअल होस्टिंग प्रदाता का उपयोग कर रहे हैं, तो उनमें से अधिकतर किसी प्रकार का वेब इंटरफ़ेस प्रदान करते हैं जो पूरी साइट का बैक अप लेने की अनुमति देता है। यदि आप किसी वास्तविक सर्वर का उपयोग करते हैं, तो बड़ी संख्या में बैक-अप समाधान हैं जिन्हें आप इंस्टॉल कर सकते हैं, जिनमें होस्ट किए गए साइटों के लिए कुछ वेब-आधारित शामिल हैं। एक्सटेंशन को समायोजित करने के

wget -E -k -p http://yoursite.com 

उपयोग -E: आदेश के बाद

4

का प्रयोग करें। अपने भंडारण से पृष्ठ लोड करने के लिए लिंक कन्वर्ट करने के लिए -k का उपयोग करें। पृष्ठ के अंदर सभी ऑब्जेक्ट्स डाउनलोड करने के लिए -p का उपयोग करें।

कृपया ध्यान दें कि यह आदेश निर्दिष्ट पृष्ठ में अन्य पृष्ठों को हाइपरलिंक नहीं करता है। इसका अर्थ यह है कि यह आदेश केवल निर्दिष्ट पृष्ठ को लोड करने के लिए आवश्यक वस्तुओं को डाउनलोड करता है।

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