सबसे पहले, यह कमांड किसी भी उपनिर्देशिका में 7 दिनों से अधिक पुरानी सभी फाइलों को ढूंढ और हटा देगा /homeजिनके नाम से शुरू होता है securityuser:
find /home/securityuser* -mtime +6 -type f -delete
आपको जरूरत है -mtime +6और नहीं +7क्योंकि -mtime24 घंटों की अवधि मायने रखती है। के रूप में समझाया गया -atimeहै man find( -mtimeउसी तरह से काम करता है):
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to
have been accessed at least two days ago.
इसलिए, 7 या अधिक दिन पहले संशोधित की गई फ़ाइल को खोजने के लिए, आपको उन फ़ाइलों को खोजने की आवश्यकता है, जिन्हें 6 दिन से अधिक समय पहले संशोधित किया गया था -mtime +6।
अगले चरण में इस कमांड को दिन में एक बार चलाना है। चूंकि प्रत्येक securityuserNएक अलग उपयोगकर्ता है (आप उस सेटअप को पुनर्विचार करना चाह सकते हैं, यह सब कुछ अधिक जटिल बनाता है), इसे रूट के रूप में चलाया जाना चाहिए। तो, संपादित करें /etc/crontab:
sudo nano /etc/crontab
और इस लाइन को जोड़ें:
@daily root find /home/securityuser* -mtime +6 -type f -delete
वह findदिन में एक बार कमांड चलाएगा और फाइलों को हटा देगा।
/homeआमतौर पर प्रत्येक उपयोगकर्ता के लिए एक सबफ़ोल्डर होता है। यदि आप अपने बैकअप को अलग-अलग उपयोगकर्ताओं (वास्तव में अच्छा विचार नहीं) के रूप में संग्रहीत नहीं करना चाहते हैं, तो आपको किसी अन्य स्थान, उदाहरण/home/security/backup1और इतने पर विचार करना चाहिए ।