XIN LƯU Ý : Tôi đã đọc tất cả các câu hỏi tương tự. cron, đường dẫn, biến env, v.v., nhưng không tìm thấy giải pháp nào cho vấn đề cụ thể của tôi.
Tôi có một kịch bản làm cho một số MySQL bị loại bỏ và sau đó xóa những cái cũ như thế này:
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
( lệnh trên đã được sửa đổi từ lệnh ban đầu của tôi bằng các đề xuất từ ý kiến )
Tuy nhiên, các tệp không bao giờ bị xóa khi cron chạy tập lệnh này. Người dùng cron là root.
Ghi chú gỡ lỗi
Nếu tôi tự chạy tập lệnh trong đó lệnh xuất hiện, nó sẽ xóa chúng như mong đợi.
Nếu tôi tự chạy lệnh find ở trên từ dòng lệnh dưới dạng root, nó sẽ xóa chúng như mong đợi (và với -print nó sẽ trả về một danh sách các tệp cũ hơn 5 ngày như mong đợi)
Tôi cũng đã thêm một tuyên bố đường dẫn rõ ràng vào crontab của root, nhưng
điều đó không thay đổi bất cứ điều gì.Cron gửi không có lỗi và nếu tôi chuyển hoạt động tìm đến tệp nhật ký,
nó sẽ trống hoặc hoàn toàn không được tạo.Tôi đang sử dụng máy chủ Ubuntu 14.04.03 LTS.
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
các lệnh được chạy qua shell và shell mở rộng các ký tự đại diện.
cron
nên gửi email với thông báo đầu ra và lỗi. Bạn có nhận được email nào từ công việc này không?