तुम लगभग सही हो। -mtime 365
वे सभी फाइलें होंगी जो बिल्कुल 365 दिन पुरानी हैं। आप उन लोगों को चाहते हैं जो 365 दिन या उससे अधिक पुराने हैं, जिसका अर्थ +
इस तरह की संख्या से पहले जोड़ना है -mtime +365
।
आपको -maxdepth 1
ध्वज में रुचि हो सकती है , जो आपको उप-निर्देशिकाओं में आइटम ले जाने से रोकता है।
यदि आप यह सुनिश्चित करना चाहते हैं कि आप केवल फाइलों को स्थानांतरित कर रहे हैं, निर्देशिकाओं को नहीं, -type f
लाइन में जोड़ें ।
पंक्ति के अंत में हम जोड़ते हैं \;
ताकि पता find
चले कि हम जिस कमांड को निष्पादित कर रहे हैं उसका अंत है।
तो लाइन होनी चाहिए:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec mv "{}" /destination/directory/ \;
सुरक्षित पक्ष पर होने के लिए, केवल mv के बजाय ls -l कर के शुरू करें - इस तरह से आप पहले से जाँच सकते हैं कि आपको ठीक वही फाइलें मिल रही हैं जो आप चाहते हैं, इसे mv के साथ फिर से चलाने से पहले, इस तरह:
find /sourcedirectory -maxdepth 1 -mtime +365 -type f -exec ls -l {} \;
mtime
है संशोधन समय (जो क्या आप शायद चाहते हैं की तरह लगता है - समय यह है की सबसे अधिक)। यदि ये लॉग अक्सर पढ़े / संदर्भित होते हैं, तो आप उपयोग करना चाहते हैं-atime
(अंतिम पहुंच समय)।