तुम लगभग सही हो। -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(अंतिम पहुंच समय)।