cp -pは、すべてではなく一部のファイルの時間を保持しますか?


9

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

ターゲットディレクトリはSMB経由でマウントされ、ファイルのセットを一度にすべてコピーしようとしています。

[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

最初の2つのファイルの時間と権限はソースディレクトリと同じですが、残りのファイルは異なります。

したがって、すべてのソースファイルが同じ場所にあり、同じアクセス許可と(多かれ少なかれ)時間を持っている場合でも、一部のファイルをコピーしてそのアクセス許可と時間を維持することはできますが、他のファイルではできません。 mそれらをすべて同じディレクトリに同時にコピーします-したがって、同じumaskなどで

それでは、なぜすべてではなく一部のファイルの時間を保持できるのでしょうか。

これらの詳細のどれが私が見ているものを説明することができるか理解できないことを除いて、私はより多くの詳細(umask、Linuxバージョン、smb.confなど)を提供したいと思います-ここでそれらは一定でなければなりません。


あなたはSMBについて言及しました。これはWindowsサーバーからのCIFS共有ですか?ネットアップから?これも重要です。たとえば、NetAppにはさまざまな共有/混合モードがあります。実際、共有元によっては多くの可能性があります。先ほど触れたように、クライアントで使用しているカーネルバージョンとマウントオプション。
アーロン

このsamba共有のマウントの詳細を共有できますか?マウント中に「noatime」を使用したかどうかを確認したかった
PKumar

cpの代わりにrsyncを使用することをお勧めします。
PKumar

回答:


8

Unixでは、ユーザーが所有していないファイルのタイムスタンプは保持できません。

次のコマンドは次の場合に失敗した理由はここにあるfile1file2場合、異なるユーザによって所有されfile2、既に存在します。

cp -p file1 file2

ソースファイルはによって所有されadminrig、ターゲットファイルはによって所有されているため、これはあなたのケースのようtmarkです。

で強制し-fても問題は解決しないため、回避策があるかどうかは不明です。

可能であれば、ターゲットファイルの所有権を変更してみてください...


2
krisFRに感謝します。ただし、ソースファイルし、必要な権限およびタイムスタンプでコピーは、エラーが発生したものと同一の所有権を持っています。実際には、すべてのソースファイルは、同じ見かけの権限を持っている、そして私が完全に見ているものを説明することができ、所有権のように見えるしていませんので、それらはすべて、adminrigによって所有されています-他にのファイルは、権限とタイムスタンプをコピーするべきではありません。
tmark 2015

代わりに使用cp -aすること検討してください。
Pablo A
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.