सबसे पहले, यह कमांड किसी भी उपनिर्देशिका में 7 दिनों से अधिक पुरानी सभी फाइलों को ढूंढ और हटा देगा /home
जिनके नाम से शुरू होता है securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
आपको जरूरत है -mtime +6
और नहीं +7
क्योंकि -mtime
24 घंटों की अवधि मायने रखती है। के रूप में समझाया गया -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
और इतने पर विचार करना चाहिए ।