Về cơ bản tôi đang tìm kiếm để xem liệu có tồn tại một công cụ hoặc tập lệnh có thể phát hiện các tệp được di chuyển hoặc đổi tên để tôi có thể nhận danh sách các tệp được đổi tên / di chuyển và áp dụng cùng một hoạt động ở đầu kia của mạng để bảo toàn băng thông.
Về cơ bản lưu trữ đĩa là rẻ nhưng băng thông thì không, và vấn đề là các tệp thường sẽ được sắp xếp lại hoặc chuyển sang cấu trúc thư mục tốt hơn, do đó khi bạn sử dụng rsync để thực hiện sao lưu, rsync sẽ không nhận thấy rằng nó được đổi tên hoặc di chuyển tệp và truyền lại nó qua mạng một lần nữa mặc dù có cùng một tệp ở đầu bên kia.
Vì vậy, tôi tự hỏi nếu có tồn tại một tập lệnh hoặc công cụ có thể ghi lại tất cả các tệp và tên của chúng, thì ngay trước khi sao lưu, nó sẽ quét lại và phát hiện các tệp đã di chuyển hoặc đổi tên, sau đó tôi có thể lấy danh sách đó và áp dụng lại hoạt động di chuyển / đổi tên ở phía bên kia.
Dưới đây là danh sách các tính năng "chung" của các tệp:
- Tập tin không thay đổi lớn
- Họ có thể được đổi tên hoặc di chuyển xung quanh
[Chỉnh sửa:] Đây đều là những câu trả lời hay, và cuối cùng tôi đã xem xét tất cả các câu trả lời và sẽ viết một số mã để giải quyết vấn đề này. Về cơ bản những gì tôi đang nghĩ / làm việc bây giờ là:
- Sử dụng một cái gì đó như AIDE để quét "ban đầu" và cho phép tôi giữ tổng kiểm tra trên các tệp vì chúng được cho là không bao giờ thay đổi, vì vậy nó sẽ giúp phát hiện tham nhũng.
- Tạo một daemon inotify sẽ theo dõi các tệp / thư mục này và ghi lại mọi thay đổi liên quan đến đổi tên và di chuyển các tệp xung quanh thành một tệp nhật ký.
- Có một số trường hợp cạnh mà inotify có thể không ghi lại rằng đã xảy ra sự cố với hệ thống tệp, do đó, bước cuối cùng là sử dụng find để tìm kiếm hệ thống tệp cho các tệp có thời gian thay đổi sau lần sao lưu cuối cùng .
Điều này có một số lợi ích:
- Tổng kiểm tra / vv từ AIDE để có thể kiểm tra / đảm bảo rằng một số phương tiện truyền thông không bị hỏng
- Inotify giữ mức sử dụng tài nguyên ở mức thấp và không cần phải quét lại hệ thống tập tin nhiều lần
- Không cần phải vá rsync; Nếu tôi phải vá những thứ tôi có thể, nhưng tôi muốn tránh vá những thứ đó để giảm gánh nặng, (IE không cần phải vá lại mỗi khi có bản cập nhật).
- Tôi đã sử dụng Unison trước đây và nó thực sự rất hay, tuy nhiên tôi có thể thề rằng Unison không giữ các bản sao trên hệ thống tệp và các tệp "lưu trữ" của nó có thể phát triển khá lớn?