cp -p sẽ bảo toàn thời gian cho một số tệp nhưng không phải tất cả?


9

Tôi có một thư mục nguồn trên một máy có rất nhiều tệp, tất cả đều có cùng quyền, mà tôi muốn sao chép sang thư mục khác, được gắn thông qua SMB.

[tmark@dexter JR09141045 roche_454_transfer]$ ls -l /source_dir
total 71348
-rwxrwxrwx 1 adminrig lifelabs 19768377 Mar 25 23:29 1.TCA.454Reads.fna
-rwxrwxrwx 1 adminrig lifelabs 53093396 Mar 25 23:29 1.TCA.454Reads.qual
-rwxrwxrwx 1 adminrig lifelabs     1035 Mar 25 23:29 454AllControlMetrics.csv
-rwxrwxrwx 1 adminrig lifelabs     2657 Mar 25 23:29 454AllControlMetrics.txt
-rwxrwxrwx 1 adminrig lifelabs     4607 Mar 25 23:29 454BaseCallerMetrics.csv
-rwxrwxrwx 1 adminrig lifelabs    14518 Mar 25 23:29 454BaseCallerMetrics.txt
-rwxrwxrwx 1 adminrig lifelabs      351 Mar 25 23:23 454DataProcessingDir.xml
-rwxrwxrwx 1 adminrig lifelabs      702 Mar 25 23:29 454QualityFilterMetrics.csv
-rwxrwxrwx 1 adminrig lifelabs     1609 Mar 25 23:29 454QualityFilterMetrics.txt
-rwxrwxrwx 1 adminrig lifelabs    13496 Mar 25 23:29 454RuntimeMetricsAll.csv
-rwxrwxrwx 1 adminrig lifelabs    26967 Mar 25 23:29 454RuntimeMetricsAll.txt
-rwxrwxrwx 1 adminrig lifelabs     1675 Mar 25 14:48 dataRunParams.xml
-rwxrwxrwx 1 adminrig lifelabs     7134 Mar 25 23:29 gsRunProcessor.log

Thư mục đích được gắn thông qua SMB và tôi đang cố gắng sao chép tập hợp các tệp cùng một lúc.

[tmark@dexter JR09141045 target_dir]$ cd /target_dir
[tmark@dexter JR09141045 target_dir]$ cp -p /source_dir/* ./
cp: preserving times for `./454AllControlMetrics.csv': Operation not permitted
cp: preserving times for `./454AllControlMetrics.txt': Operation not permitted
cp: preserving times for `./454BaseCallerMetrics.csv': Operation not permitted
cp: preserving times for `./454BaseCallerMetrics.txt': Operation not permitted
cp: preserving times for `./454DataProcessingDir.xml': Operation not permitted
cp: preserving times for `./454QualityFilterMetrics.csv': Operation not permitted
cp: preserving times for `./454QualityFilterMetrics.txt': Operation not permitted
cp: preserving times for `./454RuntimeMetricsAll.csv': Operation not permitted
cp: preserving times for `./454RuntimeMetricsAll.txt': Operation not permitted
cp: preserving times for `./dataRunParams.xml': Operation not permitted
cp: preserving times for `./gsRunProcessor.log': Operation not permitted

[tmark@dexter JR09141045 target_dir]$ ls -l
total 71264

-rwxrwxrwx 1 tmark 1008 19768377 Mar 25 23:29 1.TCA.454Reads.fna
-rwxrwxrwx 1 tmark 1008 53093396 Mar 25 23:29 1.TCA.454Reads.qual
-rwxr-xr-x 1 tmark 1008     1035 Apr  1  2015 454AllControlMetrics.csv
-rwxr-xr-x 1 tmark 1008     2657 Apr  1  2015 454AllControlMetrics.txt
-rwxr-xr-x 1 tmark 1008     4607 Apr  1  2015 454BaseCallerMetrics.csv
-rwxr-xr-x 1 tmark 1008    14518 Apr  1  2015 454BaseCallerMetrics.txt
-rwxr-xr-x 1 tmark 1008      351 Apr  1  2015 454DataProcessingDir.xml
-rwxr-xr-x 1 tmark 1008      702 Apr  1  2015 454QualityFilterMetrics.csv
-rwxr-xr-x 1 tmark 1008     1609 Apr  1  2015 454QualityFilterMetrics.txt
-rwxr-xr-x 1 tmark 1008    13496 Apr  1  2015 454RuntimeMetricsAll.csv
-rwxr-xr-x 1 tmark 1008    26967 Apr  1  2015 454RuntimeMetricsAll.txt
-rwxr-xr-x 1 tmark 1008     1675 Apr  1  2015 dataRunParams.xml
-rwxr-xr-x 1 tmark 1008     7134 Apr  1  2015 gsRunProcessor.log

Lưu ý rằng thời gian và quyền trên hai tệp đầu tiên giống như trong thư mục nguồn, nhưng khác nhau đối với các tệp còn lại.

Vì vậy, dường như tôi có thể sao chép một số tệp và bảo toàn quyền và thời gian của chúng, nhưng không phải với các tệp khác , mặc dù tất cả các tệp nguồn đến từ cùng một nơi và có cùng quyền và (ít nhiều) lần, và tôi m sao chép tất cả chúng vào cùng một thư mục cùng một lúc - và do đó với cùng một ô, v.v.

Vì vậy, tại sao tôi có thể bảo toàn thời gian cho một số, nhưng không phải tất cả các tệp?

Tôi rất vui được cung cấp thêm chi tiết (umask, phiên bản Linux, smb.conf, v.v.) ngoại trừ tôi không thể hiểu làm thế nào bất kỳ chi tiết nào có thể giải thích những gì tôi đang thấy - vì chúng phải liên tục ở đây.


Bạn đã đề cập đến SMB. Đây có phải là chia sẻ CIFS từ máy chủ windows không? Từ một ứng dụng NetApp? Điều này cũng có thể quan trọng. NetApp chẳng hạn có các chế độ chia sẻ / hỗn hợp khác nhau. Trong thực tế, có nhiều khả năng tùy thuộc vào những gì bạn đang chia sẻ từ; và khi bạn trốn tránh, phiên bản kernel và các tùy chọn gắn kết bạn đang sử dụng trên máy khách.
Aaron

bạn có thể chia sẻ chi tiết gắn kết cho samba này chia sẻ làm thế nào đã gắn kết nó? chỉ muốn kiểm tra xem bạn có sử dụng "noatime" trong khi gắn kết không
PKumar

tốt hơn là sử dụng rsync insead của cp.
PKumar

Câu trả lời:


8

Trên Unix, dấu thời gian không thể được lưu giữ trên các tệp mà người dùng không sở hữu.

Đây là lý do tại sao lệnh sau thất bại nếu file1file2được sở hữu bởi những người dùng khác nhau trong trường hợp file2đã tồn tại:

cp -p file1 file2

Có vẻ như đó là trường hợp của bạn vì các tệp nguồn được sở hữu adminrigvà các tệp đích được sở hữu bởi tmark.

Không chắc chắn nếu có một cách giải quyết như cưỡng bức -fkhông giải quyết được vấn đề.

Nếu bạn có thể, hãy thử thay đổi quyền sở hữu các tệp mục tiêu ...


2
cảm ơn krisFR. Tuy nhiên, các tệp nguồn được sao chép với quyền và dấu thời gian phù hợp, có cùng quyền sở hữu với các tệp tạo ra lỗi. Trên thực tế, tất cả các tệp nguồn đều có cùng quyền rõ ràng và tất cả chúng đều thuộc quyền sở hữu của quản trị viên, do đó, có vẻ như quyền sở hữu có thể giải thích hoàn toàn những gì tôi thấy - không ai trong số các tệp nên sao chép bằng quyền và dấu thời gian.
dấu

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.