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.