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

Зауважте, що час та дозволи для перших двох файлів такі ж, як у вихідному каталозі, але відрізняються для інших файлів.

Отже, здається, що я можу скопіювати деякі файли та зберегти їх дозволи та час, але не з іншими файлами , хоча всі вихідні файли надходять з того самого місця і мають однакові дозволи та (більш-менш) раз, і я ' м, копіюючи їх все в той самий каталог одночасно - а значить, з тим самим umask і т.д.

Отже, чому я можу зберегти час для деяких, але не для всіх файлів?

Я би радий надати більше деталей (umask, версія Linux, smb.conf тощо), за винятком того, що я не можу зрозуміти, як будь-яка з цих деталей може пояснити те, що я бачу - оскільки вони повинні бути постійними тут.


Ви згадали про SMB. Це поділка CIFS у формі сервера Windows? Від NetApp? Це теж може мати значення. Наприклад, NetApp має різні режими спільного використання / змішані. Насправді існує багато можливостей залежно від того, чим ви ділитесь; і, як ви уникнули, версія ядра та параметри монтажу, які ви використовуєте на клієнті.
Аарон

Ви можете поділитися деталями монтажу для цієї самби, як поділитися монтом? просто хотіли перевірити, чи використовуєте ви "noatime" під час монтажу
PKumar

бажано використовувати rsync інсадатор cp.
PKumar

Відповіді:


8

У Unix часові позначки не можуть бути збережені у файлах, якими користувач не володіє.

Тому наступна команда не виконується , якщо file1і file2належать різним користувачам в разі , якщо file2вже існує:

cp -p file1 file2

Здається, це так, тому що вихідні файли належать, adminrigа цільові файли належать tmark.

Не впевнений, чи існує рішення, оскільки примушування -fне вирішує проблему.

Якщо можете, спробуйте змінити право власності на цільові файли ...


2
спасибі krisFR. Однак вихідні файли , скопійовані з правильними дозволами та часовими позначками, мають те саме право власності, що і ті, що генерують помилки. Насправді всі вихідні файли мають однакові видимі дозволи, і всі вони належать адміністрарігу, тому, схоже, право власності не може пояснити, що я бачу повністю - інакше жоден з цих файлів не повинен копіювати з дозволами та часовими позначками.
позначка

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.