Po pierwsze, to polecenie znajdzie i usunie wszystkie pliki starsze niż 7 dni w dowolnym podkatalogu, /home
którego nazwa zaczyna się od securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
Potrzebujesz, -mtime +6
a nie +7
dlatego, że -mtime
liczy 24-godzinne okresy. Jak wyjaśniono w -atime
części man find
( -mtime
działa w ten sam sposób):
-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.
Tak więc, aby znaleźć plik, który został zmodyfikowany 7 lub więcej dni temu, musisz znaleźć pliki, które zostały zmodyfikowane ponad 6 dni temu -mtime +6
.
Następnym krokiem jest uruchomienie tego polecenia raz dziennie. Ponieważ każdy securityuserN
jest innym użytkownikiem (być może zechcesz przemyśleć tę konfigurację, wszystko komplikuje się), należy to uruchomić jako root. Więc edytuj /etc/crontab
:
sudo nano /etc/crontab
I dodaj tę linię:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Spowoduje to uruchomienie find
polecenia raz dziennie i usunięcie plików.
/home
zazwyczaj zawiera podfolder dla każdego użytkownika. Jeśli nie chcesz przechowywać kopii zapasowych jako różnych użytkowników (niezbyt dobry pomysł), powinieneś rozważyć inną lokalizację, np./home/security/backup1
I tak dalej.