Tôi muốn xóa các tệp cũ hơn 59 phút. Tôi có điều này cho đến thời điểm này:Xóa tệp cũ hơn X phút
find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*" -exec rm -f {} \;
Điều này không có tác dụng và dường như xóa tất cả các tệp. Tôi đã thử nghiệm này nhiều lần và tôi nghĩ rằng vấn đề là để làm với daystart
.
Tôi đã đọc trang người đàn ông và dường như thời gian cơ bản vào đầu ngày thay vì từ 24 giờ trước. Nếu đây là trường hợp làm thế nào tôi có thể xóa chính xác các tệp cũ hơn 59 phút? Tôi có cần tính đến daystart
và thêm một số phút nữa không?
Ví dụ:
[email protected]:/tmp$ ls -la
total 8
drwxrwxrwt 2 root root 4096 Jul 20 14:39 ./
drwxr-xr-x 23 root root 4096 Jun 25 18:34 ../
-rw-rw-r-- 1 ubuntu ubuntu 0 Jul 20 12:35 a.txt
Cả các lệnh sau, trả lại hồ sơ:
[email protected]:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +59 -type f -name "*.*"
/tmp/a.txt
Và:
[email protected]:/tmp$ find /tmp -daystart -maxdepth 1 -mmin +359 -type f -name "*.*"
/tmp/a.txt
Tuy nhiên, các tập tin không phải là phút lớn hơn 659 (10,9 giờ)! Nhưng tại 759 (12,65 giờ), nó không trả lại tập tin nữa?
Nhân tiện. Tôi thích tham số '-delete' thay vì' -exec rm -f {} \; '. – lanes