Các find
lệnh sẽ xóa bất kỳ tập tin thường xuyên trong hoặc dưới các /home/_backups/pokebrawl
thư mục đó là hơn bảy ngày tuổi (hay chính xác hơn, không bị sửa đổi trong tuần trước).
Có lẽ nên đọc
find "$DESDIR" -mtime +6 -type f -delete
hoặc là
find "${DESDIR:?Not set correctly}" -mtime +6 -type f -delete
vì có một biến hoàn toàn tốt giữ tên thư mục đó rồi. Biến thể thứ hai sẽ gây ra lỗi nếu DESDIR
vì một lý do nào đó trống hoặc không được đặt.
Tôi cho rằng đây là cách chỉ giữ lại các bản sao lưu giá trị của tuần trước. Tôi sẽ đề nghị sử dụng một cái gì đó giống borgbackup
hoặc restic
thay vào đó, vì chúng có thể giữ các bản sao lưu lâu hơn mà không cần sử dụng nhiều dung lượng hơn (thậm chí các bản sao lưu hàng giờ trong một năm sẽ không tốn nhiều dung lượng nếu dữ liệu không thay đổi nhiều) . Chúng sao chép dữ liệu và borgbackup
hỗ trợ nén (cả hỗ trợ sao lưu từ xa và mã hóa).
Để chạy tập lệnh cứ sau 24 giờ (lúc nửa đêm), hãy sử dụng công việc định kỳ.
Đầu tiên, ban hành lệnh crontab -e
. Điều này sẽ mở một trình soạn thảo với crontab hiện tại cho người dùng đang hoạt động (đây có thể là một tệp trống).
Sau đó thêm
@daily /path/to/the/script.sh
(nơi path/to/the/script.sh
là tên đường dẫn của tập lệnh).
Lưu và thoát khỏi trình soạn thảo.
Kịch bản bây giờ sẽ được gọi vào lúc nửa đêm, thậm chí đêm.
Bạn có muốn chạy tập lệnh vào lúc 13:30 mỗi chiều, thêm đoạn sau đây làm mục crontab thay thế:
30 13 * * * /path/to/the/script.sh
Xem hướng dẫn sử dụng crontab trên hệ thống của bạn để biết chi tiết về cách viết lịch trình crontab ( man 5 crontab
).