Tôi lúng túng trong một kịch bản sao lưu bash và đã bỏ lỡ một cái gì đó lớn. Tôi biết rằng hệ thống tệp ext3 không theo dõi ngày tạo, nhưng sao chép tệp trong ext3 cập nhật thời gian thay đổi như đã thấy qua stat (sẽ hoạt động). Tuy nhiên, khi các tệp được sao chép từ một máy chủ Windows sang một máy chủ khác (có gắn kết tôi có thông qua smb / cifs), từ thử nghiệm của tôi, thời gian thay đổi không được cập nhật. Tôi đang sử dụng find để thực hiện tìm kiếm trên các cổ phiếu cifs. Có thực sự không có cách nào để phát hiện khi một tệp mới được tạo qua chia sẻ cifs từ Linux bằng cách sử dụng "find"?
Ngoài ra, tôi rất quen thuộc với rsync, và trong trường hợp này, các hạn chế của rsync loại trừ nó như là một tùy chọn. Tôi đã nghĩ rằng tôi có thể sử dụng rsync cho việc tìm kiếm và cố gắng đưa kết quả vào hành động (gzip), nhưng tôi nghĩ rằng các subshells sẽ là vô lý. Có thể sai, tất nhiên. Bất kỳ đề xuất sẽ được nhiều đánh giá cao. Có thể cung cấp thêm chi tiết, nhưng từ nghiên cứu của tôi, tôi không nghĩ rằng nó có thể.
Stat
cung cấp thời gian truy cập, sửa đổi thời gian và thay đổi thời gian. Sao chép một tập tin trong ext3 cập nhật thay đổi thời gian. Windows (NT) đã tạo ra thời gian, tất nhiên, được cập nhật khi một tệp được tạo thông qua một bản sao. Tuy nhiên, từ câu trả lời của JdeBP bên dưới, các coretutils GNU như stat
, ls
và find
, không có cách nào để phát hiện hoặc hiển thị các tệp mới được tạo trên các máy Windows qua chia sẻ cifs. Cám ơn bạn đã góp ý.