Đầu tiên, lệnh này sẽ tìm và xóa tất cả các tệp cũ hơn 7 ngày trong bất kỳ thư mục con nào /homecó tên bắt đầu bằng securityuser:
find /home/securityuser* -mtime +6 -type f -delete
Bạn cần -mtime +6và không phải +7vì -mtimetính thời gian 24h. Như đã giải thích trong -atimephần của man find( -mtimehoạt động theo cùng một cách):
-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.
Vì vậy, để tìm một tệp đã được sửa đổi 7 ngày trở lên, bạn cần tìm các tệp đã được sửa đổi hơn 6 ngày trước, do đó -mtime +6.
Bước tiếp theo là chạy lệnh này mỗi ngày một lần. Vì mỗi securityuserNngười dùng là một người dùng khác nhau (bạn có thể muốn suy nghĩ lại về thiết lập đó, nó làm cho mọi thứ phức tạp hơn), điều này phải được chạy dưới quyền root. Vì vậy, chỉnh sửa /etc/crontab:
sudo nano /etc/crontab
Và thêm dòng này:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Điều đó sẽ chạy findlệnh một lần một ngày và xóa các tập tin.
/homethường chứa một thư mục con cho mỗi người dùng. Nếu bạn không muốn lưu trữ bản sao lưu của mình dưới dạng người dùng khác (ý tưởng không thực sự tốt), bạn nên xem xét một vị trí khác,/home/security/backup1v.v.