अगर कोई फ़ाइल बदल गई है तो मैं कैसे भूल सकता हूं?


0

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

मुझे टाइमस्टैम्पिंग के बारे में एक त्रुटि मिलती है जिसका उपयोग नहीं किया जा सकता है -O

क्या मैं कुछ छोड़ रहा हूं? मैं उस आदमी के पेज को पढ़ता हूँ और इसको छाँट नहीं सकता।

wget -N -O ~/foo/foo_`date +%Y%m%d`.pdf http://foo.com/blarg/daily_newsletter.pdf

क्या मैं ऐसा करने की कोशिश कर रहा हूं।

जवाबों:


0

आदमी पेज यह काफी अच्छी तरह से बताते हैं:

दस्तावेजों को उपयुक्त फ़ाइलों को नहीं लिखा जाएगा, लेकिन सभी को एक साथ समाहित किया जाएगा और फ़ाइल को लिखा जाएगा। यदि फ़ाइल के रूप में '-' का उपयोग किया जाता है, तो लिंक रूपांतरण को अक्षम करने के लिए दस्तावेज़ मानक आउटपुट पर प्रिंट किए जाएंगे। ("- .- '' का शाब्दिक नाम '-' के लिए फ़ाइल में प्रिंट करने के लिए उपयोग करें।)

'-O' का उपयोग केवल "URL में एक के बजाय नाम फ़ाइल का उपयोग करने के लिए" करने के लिए अभिप्रेत नहीं है, बल्कि, यह शेल पुनर्निर्देशन के अनुरूप है: 'wO -O फ़ाइल http: // foo ' काम करने का इरादा है जैसे 'wget -O - http: // foo > file'; फ़ाइल को तुरंत काट दिया जाएगा, और सभी डाउनलोड की गई सामग्री वहां लिखी जाएगी।

इस कारण से, '-N' (टाइमस्टैम्प-जाँच के लिए) '-O' के साथ संयोजन में समर्थित नहीं है: चूंकि फ़ाइल हमेशा नई बनाई जाती है, इसलिए इसमें हमेशा एक नया टाइमस्टैम्प होगा। यदि इस संयोजन का उपयोग किया जाता है तो एक चेतावनी जारी की जाएगी।

इसलिए, जैसा कि यह कहा गया है, -Oआउटपुट फ़ाइल का नाम बदलना नहीं है, लेकिन सभी मानक आउटपुट को पुनर्निर्देशित करने के लिए, डाउनलोड की गई सभी फ़ाइलों के लिए file। आपको शायद फ़ाइल को डाउनलोड करना होगा और टाइमस्टैम्प को संरक्षित करने के लिए इसका नाम बदलना होगा।


फ़ाइल का माइम तब नहीं है जब फ़ाइल मेरे सर्वर पर सहेजी गई थी, लेकिन जब पीडीएफ के लेखक ने स्टेट फाइल को स्टेट के अनुसार सहेजा है। जब क्रोन ने फ़ाइल डाउनलोड की तो एक्सेस / चेंज फ़ील्ड रिपोर्ट करें। वास्तविक फ़ाइल सहेजे ls -lजाने पर संशोधित शो , और संशोधित समय भी दिखाता है। यही कारण है कि मैंने सोचा -Oऔर -Nकाम करना चाहिए क्योंकि वास्तविक टाइमस्टैम्प वास्तव में अपरिवर्तित है। चूँकि wgetपहले से ही एक bash स्क्रिप्ट में मैं संभवत: आपके द्वारा सुझाई गई बातों का पालन करके बाकी को छांट सकता हूँ। धन्यवाद,
जॉन वीनरॉब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.