buộc rsync ghi đè lên tệp tại đích ngay cả khi chúng mới hơn


43

Tôi có một tập lệnh sao lưu rsync mà tôi chạy, nó cũng khôi phục các tập tin trở lại nơi chúng đến khi tôi yêu cầu. Nhưng nếu các tệp tại đích mới hơn các tệp trong bản sao lưu khi tôi cố gắng khôi phục, nó sẽ không thay thế chúng. Tôi thực sự muốn thay thế các tệp mới hơn bằng các tệp trong bản sao lưu nhưng tôi không thấy cách nào để tạo rsync làm điều này.

tldr: có cách nào để buộc rsync ghi đè lên các tệp tại đích không?

chỉnh sửa: Tôi đã chạy rsync -avhpKhi tôi muốn khôi phục bản sao lưu, tôi sử dụng cùng một lệnh với "đến" và "từ" hoán đổi. Vì vậy, nó cố gắng sao chép các tập tin từ ổ đĩa sao lưu vào vị trí trên máy tính của tôi.


14
rsyncsẽ luôn ghi đè lên các tệp tại đích trừ khi bạn bảo nó không làm điều này (tùy chọn -u, --update). Kiểm tra đối số dòng lệnh của bạn.
scai

Bạn có thể chia sẻ lệnh rsync thực tế của bạn? Rsync sẽ ghi đè lên các tệp cũ hơn với các tệp mới hơn, do đó, rất có thể bạn sẽ so sánh các tệp chỉ bằng dấu thời gian và ngày sẽ hơi khác nhau giữa hai máy tính.
slm

Tôi đã thử sử dụng touchđể tạo các tệp tôi muốn thay thế "cũ" hơn bản sao lưu của mình, nhưng nó vẫn không thay thế các tệp hiện có trong thư mục nhà của tôi.
jedipixel

Có lẽ '-I --modify-window = 999999999' phù hợp với bạn?
jelle foks

Câu trả lời:


47

Hướng dẫn nói:

-I, --ignore-times   don't skip files that match size and time

Với nhiều chi tiết hơn:

-I, --ignore-times

Thông thường rsync sẽ bỏ qua mọi tệp đã có cùng kích thước và có cùng dấu thời gian sửa đổi. Tùy chọn này tắt hành vi "kiểm tra nhanh" này, khiến tất cả các tệp được cập nhật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.