दिलचस्प पोस्ट
डेटा विशेषता प्राप्त करें Windows XP, Vista, और 7 पर .NET ढांचे का कौन सा संस्करण स्थापित है? किसी पाठ फ़ाइल में पंक्तियां हटाएं जिसमें कोई विशिष्ट स्ट्रिंग हो पहुंच उल्लंघन अपवाद पकड़ने? एक एक्कार्डियन के समान एक JQuery प्लग-इन की खोज की जा रही है, लेकिन यह कई बार एक बार में बंद होने की अनुमति देता है एंड्रॉइड स्टूडियो में बाह्य पुस्तकालय जोड़ना कुछ फ़ाइलों के लिए स्वचालित संदर्भ गणना अक्षम करें जावा में एक तारीख को एन घंटे जोड़ना? इकाई फ़्रेमवर्क में डेटाबेस से डिफ़ॉल्ट कॉलम मान का उपयोग कैसे करें? क्यों "सच" == सचमुच जावास्क्रिप्ट में गलत दिखाता है? सरणी के माध्यम से जावास्क्रिप्ट के मूल `indexOf` की तुलना में इतनी तेज़ क्यों हो रहा है? एमपीआई संचार के लिए MPI_Bcast का उपयोग करना एंड्रॉइड में छवि स्पर्श करें और खींचें अजगर डेल का उपयोग करके पांडा डेटाफ़्रेम से कॉलम हटाएं स्कला: सार प्रकार बनाम जेनरिक

एक्स घंटे से पुराने फ़ाइलों को कैसे हटाएं

मैं एक बाश स्क्रिप्ट लिख रहा हूं जो पुराने फाइलों को हटाने की जरूरत है।

यह वर्तमान में इसका उपयोग कर कार्यान्वित है:

find $LOCATION -name $REQUIRED_FILES -type f -mtime +1 -delete 

इससे 1 दिन से पुरानी फाइलें हट जाएंगी।

हालांकि, अगर मुझे एक बेहतर संकल्प की जरूरत है, तो 1 दिन, 6 घंटे पुराना जैसा कहें? क्या यह करने के लिए एक अच्छा साफ तरीका है, जैसे कि खोज और -मटाइम का उपयोग करना है?

Solutions Collecting From Web of "एक्स घंटे से पुराने फ़ाइलों को कैसे हटाएं"

क्या आपकी find में -mmin विकल्प है? इससे आपको आखिरी संशोधन से मिनटों की संख्या का परीक्षण करने दे सकते हैं:

 find $LOCATION -name $REQUIRED_FILES -type f -mmin +360 -delete 

या शायद एक ही काम करने के लिए tmpwatch का उपयोग करने पर tmpwatch करें। phjr ने टिप्पणी में tmpreaper की भी सिफारिश की

आप इस चाल के लिए: 1 घंटे पहले एक फ़ाइल बना सकते हैं, और -newer file तर्क का उपयोग करें

(या ऐसी फाइल बनाने के लिए touch -t का उपयोग touch -t )

मिनट मिनटों के लिए है

मैन पेज को देखने का प्रयास करें

 man find 

अधिक प्रकार के लिए

सनओस 5.10 के लिए

  Example 6 Selecting a File Using 24-hour Mode The descriptions of -atime, -ctime, and -mtime use the ter- minology n ``24-hour periods''. For example, a file accessed at 23:59 is selected by: example% find . -atime -1 -print at 00:01 the next day (less than 24 hours later, not more than one day ago). The midnight boundary between days has no effect on the 24-hour calculation. 

$ PATH -name $ log_prefix "*" $ log_ext -mmin + $ num_mins -exec rm -f {} \ पता लगाएं;

यदि आपके पास "ढूंढें" के आपके संस्करण में "-min" नहीं है, तो "-एमटीएम -0.041667" "आखिरी घंटे के भीतर" के करीब हो जाता है, इसलिए आपके मामले में, इसका उपयोग करें:

 -mtime +(X * 0.041667) 

इसलिए, यदि एक्स का मतलब 6 घंटे है, तो:

 find . -mtime +0.25 -ls 

काम करता है क्योंकि 24 घंटे * 0.25 = 6 घंटे

एक और सवाल पर उनकी टिप्पणी में @conococlast जिस तरह से सोच रहा था, उस रास्ते पर जाने के लिए कोई ऐसा कर सकता है।

उपयोगकर्ता /etc/crontab के लिए फ़ाइल /tmp/hour बनाने के लिए /etc/crontab का उपयोग करें:

 # mh dom mon dow user command 0 * * * * root /usr/bin/touch /tmp/hour > /dev/null 2>&1 

और फिर अपना आदेश चलाने के लिए इसका उपयोग करें:

 find /tmp/ -daystart -maxdepth 1 -not -newer /tmp/hour -type f -name "for_one_hour_files*" -exec do_something {} \;