2011-03-23 24 views
5

Tôi sử dụng trình tạo trang web tĩnh tạo tất cả các tệp trong trang web trên mỗi lần chạy. Sau khi tạo các tệp, tôi sử dụng rsync để sao chép nội dung tại chỗ.Cách tạo thời gian lưu giữ rsync của các tệp không đổi

Để cho phép bộ nhớ đệm tốt hơn, tôi muốn rsync không sửa đổi dấu thời gian của các tệp đó ở đích đã không thay đổi. Có thể không?

EDIT: Để làm rõ, dấu thời gian của tất cả các tệp nguồn luôn mới hơn so với dấu thời gian của tệp đích.

Trả lời

9

Tùy chọn -c dường như làm những gì tôi muốn. Hình phạt về hiệu suất không phải là vấn đề trong trường hợp của tôi.

+0

-t sẽ tốt hơn trong trường hợp của bạn – Pungs

+0

Tôi không nghĩ vậy, bởi vì dấu thời gian của tệp nguồn luôn luôn mới hơn so với tệp thời gian của tệp đích mặc dù nội dung tệp không thay đổi. –

+2

Tùy chọn -c hoạt động. Một điều cần lưu ý là: nếu bạn không muốn thời gian sửa đổi thay đổi, hãy chắc chắn không sử dụng tùy chọn -a, vì nó âm thầm gọi -t, có nghĩa là "bảo toàn thời gian sửa đổi", nghĩa là "ghi đè thời gian sửa đổi của các tệp từ xa có thời gian sửa đổi của tệp cục bộ. " – ishmael

0

Bạn đã thử cờ -t và -E chưa?

EDIT: Uh ... hoặc là dấu thời gian của các tệp nguồn đã thay đổi mỗi khi bạn tạo lại trang web, ngay cả khi các tệp chưa thay đổi?

+0

Có, dấu thời gian tệp nguồn luôn được thay đổi thành "hiện tại". –

+0

Trong trường hợp đó, hãy thử sử dụng - chỉ kích cỡ để nó bỏ qua các tệp mới (giả sử chúng có cùng kích thước) ... một chút nguy hiểm, có thể có hậu quả không mong muốn. Sử dụng nó kết hợp với -c là một chút tốt hơn, nhưng nó chậm. – MarcB

Các vấn đề liên quan