Dùng những arguments xác định thời gian khi tìm kiếm với lệnh find, xóa những file backup cũ hơn n ngày.

Khi sử dụng Server chắc chắn sẽ có dùng đến backup, có thể là backup không lưu trữ cùng với Server, nhưng thường các file backup sẽ được đặt chung 1 ở một nơi và có nhiều version.

Backup có thể được tạo ra bằng nhiều cách và không phải lúc nào cũng có thể sử dụng version control.
Vì vậy vấn đề xóa những file backup cũ là cần thiết để giải phóng không gian lưu trữ.

Hôm nay sẽ giới thiệu lệnh find với các tham số về thời gian (là thuộc tính của file) để xóa những file backup cũ đó.

Các tham số về thời gian chúng ta sẽ sử dụng với lệnh find để tìm những file cũ:
atime – last access time
atime được update khi có bất cứ cái gì truy cập vào file, thông thường là người dùng hoặc một tiến trình nào đó.

ctime – last change time
ctime được update khi có bất cứ thay đổi nào xảy ra trên file.

mtime – last modification time
mtime chỉ được update khi nội dung file bị thay đổi, khi thuộc tính của file bị thay đổi ví dụ như file được phân quyền lại thì mtime không update.

Theo sau ba tham số này là một số với 3 dạng như sau:
+n – lâu hơn n ngày.
-n – ít hơn n ngày.
n – chính xác n ngày.

Ví dụ:
Tìm những file cũ hơn 3 ngày.

Gọi lệnh xóa các kết quả đã được tìm thấy.
Lệnh file cho phép gọi thực thi một lệnh khác qua argument -exec
gọi lệnh rm -f {} \; để xóa những file được tìm thấy.
{} – là danh sách những kết quả tìm kiếm được từ lệnh find. Lệnh rm sẽ được thực thi trên từng dòng trong kết quả tìm kiếm
\; – escape những ký tự đặc biệt có trong kết quả tìm kiếm từ lệnh find.

Ví dụ xóa những file backup đã cũ hơn 15 ngày chứ trong thư mục /backup/website/

Notes:
trong lệnh find khi gọi thực hiện xóa nên cung cấp đường dẫn tuyệt đối, vì lệnh có thể được dùng trong một file shell hoặc gọi thông qua crontab. Những lúc đó không xác định được enviroment pwd đang giữ giá trị gì. Có thể dẫn đến xóa nhầm file.

Comments

comments