По-перше, ця команда знайде та видалить усі файли старші 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
тощо.