По-перше, ця команда знайде та видалить усі файли старші 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є іншим користувачем (можливо, ви хочете переосмислити цю установку, це все ускладнює), це потрібно запустити як root. Отже, редагуйте /etc/crontab:
sudo nano /etc/crontab
І додайте цей рядок:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Це запустить findкоманду раз на день та видалить файли.
/homeзазвичай містить підпапку для кожного користувача. Якщо ви не хочете зберігати свої резервні копії як різних користувачів (не дуже гарна ідея), вам слід розглянути інше місце, наприклад,/home/security/backup1тощо.