Đầ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 /home
có tên bắt đầu bằng securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
Bạn cần -mtime +6
và không phải +7
vì -mtime
tính thời gian 24h. Như đã giải thích trong -atime
phần của man find
( -mtime
hoạ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 securityuserN
ngườ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 find
lệnh một lần một ngày và xóa các tập tin.
/home
thườ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/backup1
v.v.