cp -p कुछ फ़ाइलों के लिए समय संरक्षित करेगा लेकिन सभी नहीं?


9

मेरे पास फाइलों के एक समूह के साथ एक मशीन पर एक स्रोत निर्देशिका है, सभी एक ही अनुमतियों के साथ, कि मैं किसी अन्य निर्देशिका की प्रतिलिपि बनाना चाहता हूं, जो एसएमबी के माध्यम से मुहिम की जाती है।

[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 के साथ, आदि।

तो, मैं कुछ के लिए समय क्यों संरक्षित कर सकता हूं, लेकिन सभी फाइलें नहीं?

मुझे और विवरण (उमक, लिनक्स संस्करण, smb.conf, आदि) प्रदान करने में खुशी होगी, सिवाय इसके कि मैं उन विवरणों में से कोई भी नहीं समझ सकता कि मैं क्या देख रहा हूं - क्योंकि उन्हें यहां स्थिर होना चाहिए।


आपने SMB का उल्लेख किया। क्या यह CIFS शेयर फॉर्म एक विंडोज़ सर्वर है? नेटऐप से? यह बात भी हो सकती है। उदाहरण के लिए NetApp में विभिन्न शेयर / मिश्रित मोड हैं। वास्तव में, आप जो साझा कर रहे हैं, उसके आधार पर कई संभावनाएं हैं; और जब आप ग्राहक को उपयोग कर रहे हैं, तो कर्नेल संस्करण और आरोह विकल्प को हटा दें।
हारून

आप इस सांबा शेयर के लिए माउंट विस्तार साझा कर सकते हैं कि यह कैसे माउंट किया? बढ़ते समय सिर्फ "noatime" का उपयोग करना चाहते थे
PKumar

cp के rsync इनडीड का उपयोग करना बेहतर होगा।
PKumar

जवाबों:


8

यूनिक्स पर टाइमस्टैम्प को उन फाइलों पर संरक्षित नहीं किया जा सकता है जो उपयोगकर्ता के पास नहीं हैं।

यही कारण है कि निम्न आदेश विफल रहता है file1और यदि पहले से मौजूद file2है तो विभिन्न उपयोगकर्ताओं के स्वामित्व में हैं file2:

cp -p file1 file2

ऐसा लगता है कि यह आपका मामला है क्योंकि स्रोत फ़ाइलें स्वामित्व में हैं adminrigऔर लक्ष्य फ़ाइलें स्वामित्व में हैं tmark

सुनिश्चित नहीं है कि कोई -fसमस्या हल हो रही है क्योंकि समस्या हल नहीं होती है।

यदि आप कर सकते हैं, तो लक्ष्य फ़ाइलों के स्वामित्व को बदलने का प्रयास करें ...


2
धन्यवाद krisFR हालांकि, स्रोत फ़ाइलें जो कर रहे थे सही अनुमतियाँ टाइमस्टैम्प के साथ की नकल की, लोगों को जो त्रुटियों उत्पन्न रूप में एक ही स्वामित्व है। वास्तव में, सभी स्रोत फ़ाइलों में एक ही स्पष्ट अनुमतियाँ हैं, और वे सभी व्यवस्थापक के स्वामित्व में हैं, इसलिए ऐसा नहीं लगता है कि स्वामित्व यह बता सकता है कि मैं पूरी तरह से क्या देख रहा हूं - और कोई भी फ़ाइल अनुमतियों और टाइमस्टैम्प के साथ प्रतिलिपि नहीं होनी चाहिए।
निशान लगाएँ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.