cp -p bazı dosyalar için süreleri koruyacak, fakat hepsi için değil mi?


9

SMB ile bağlı başka bir dizine kopyalamak istiyorum, aynı izinleri, bir sürü dosya ile bir makinede bir kaynak dizini var.

[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

Hedef dizin SMB aracılığıyla monte edilir ve ben bir kerede dosya kümesini kopyalamaya çalışıyorum.

[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

İlk iki dosyadaki zaman ve izinlerin kaynak dizindekilerle aynı olduğunu, ancak diğer dosyalar için farklı olduğunu unutmayın.

Yani, tüm kaynak dosyalar aynı yerden gelip aynı izinlere ve (veya daha fazla veya daha az) süreye sahip olsa da, bazı dosyaları kopyalayabiliyorum ve izinlerini ve zamanlarını koruyabiliyorum, ancak diğer dosyalarla değil. hepsini aynı dizine aynı anda kopyalamak - ve böylece aynı umask, vb.

Öyleyse, neden tüm dosyalar için değil, bazılarının zamanlarını koruyabilirim?

Daha fazla ayrıntı vermekten mutluluk duyarım (umask, Linux sürümü, smb.conf, vb.), Ancak bu detaylardan herhangi birinin gördüğüm şeyi nasıl açıklayabileceğini anlayamıyorum - burada sabit olmaları gerektiği gibi.


SMB'den bahsettiniz. Bu bir Windows sunucusundan CIFS paylaşımı mı? Bir NetApp'tan mı? Bu da önemli olabilir. Örneğin NetApp farklı paylaşım / karışık modlara sahiptir. Aslında, paylaştıklarınıza bağlı olarak birçok olasılık vardır; ve elud olarak, istemcide kullandığınız çekirdek sürümü ve bağlama seçenekleri.
Aaron

Bu samba paylaşımı için montaj detayını nasıl paylaşırsınız? sadece montaj sırasında "noatime" kullandığınızı kontrol etmek istedim
PKumar

cp yerine rsync kullanılması tercih edilir.
PKumar

Yanıtlar:


8

Unix'te zaman damgaları kullanıcının sahip olmadığı dosyalarda korunamaz.

Bu nedenle, zaten mevcut olması durumunda farklı kullanıcıların sahip olması file1ve file2sahip olması durumunda aşağıdaki komut başarısız olur file2:

cp -p file1 file2

Görünüşe göre durum kaynak dosyalara adminrigve hedef dosyalara ait tmark.

Zorlama ile bir çözüm olup olmadığından emin -fdeğilsiniz sorunu çözmez.

Yapabiliyorsanız, hedef dosyaların sahipliğini değiştirmeyi deneyin ...


2
teşekkürler krisFR. Ancak, kaynak dosyaları edildi sağ izinleri ve zaman damgaları ile kopyalanan, hataları oluşturur olanlar aynı sahiplik hakları vardır. Aslında, tüm kaynak dosyalar aynı görünür izinlere sahiptir ve hepsi adminrig'e aittir, bu nedenle sahiplik tamamen gördüğümü açıklayabilir gibi görünmüyor - başka hiçbir dosya izinler ve zaman damgalarıyla kopyalanmamalıdır.
tmark

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.