রোবকপির অনুমতি অস্বীকার করা হয়েছে


11

রোবকপিটি উইন্ডোজ with-এর সাথে পূর্বেই ইনস্টল করা আছে I've আমি এর আগে বহুবার ব্যবহার করেছি। আমি একটি ফোল্ডারটি সাথে একটি দূরবর্তী ভাগের সাথে অনুলিপি করার চেষ্টা করেছি

robocopy c:\source "\\server\share\path" /s /r:2 /w:2` 

ফলস্বরূপ আমি অনুমতি অস্বীকার পেতে। এক্সপ্লোরার ব্যবহার করে আমি এই শেয়ারে ফাইলগুলি অনুলিপি করতে পারি। আমি একই ফলাফলের সাথে প্রশাসকের অনুমতি সহ একটি কমান্ড প্রম্পট খুলেছি। শেয়ারটি পাবলিকের জন্য পড়তে / লিখতে হয়।

সম্পাদনা করুন আমি ভাগ করে একটি ড্রাইভলেটর সফলভাবে ম্যাপ করেছি, তবে রোবোকপি এখনও ব্যর্থ হয়

সম্পাদনা করুন আমি সাফল্য ছাড়াই / বি সুইচ যুক্ত করেছি। সঠিক ত্রুটিটি হ'ল:

2009/09/26 20:43:14 ERROR 5 (0x00000005) 
    Accessing Destination Directory \\drobo\Drobo\fotos\__NEW\Ericsson\

আপনি কি ড্রাইভ লেটারে ভাগ করা ফোল্ডারটি ম্যাপিংয়ের চেষ্টা করেছেন?
সিজিএ

হ্যাঁ আমি প্রথম চেষ্টা করেছিলাম। একই ফলাফল
এডোসফট

আপনি কি ভাগ করা ফোল্ডারটির মালিকানা নেওয়ার চেষ্টা করেছেন? আপনি কি ওয়ার্কগ্রুপ বা কোনও অ্যাক্টিভ ডিরেক্টরি ডোমেনে আছেন?
সিজিএ

আমি একটি ওয়ার্কগ্রুপ ব্যবহার করছি। আমি মালিকানা গ্রহণ করেছি।
এডোসফট

আপনি যদি / ভি প্যারামিটার ব্যবহার করেন, তবে ভারবোজ মোড আপনাকে অন্য কোনও তথ্য দেয়? ত্রুটি 5টি সাধারণত একটি অ্যাক্সেস অস্বীকৃত বার্তা। কমান্ড প্রম্পট থেকে আপনি কপি আদেশটি ব্যবহার করতে পারেন? এটি কি অন্যান্য ইউএনসির সাথে কাজ করে বা ড্রোবোই কেবল ব্যর্থ হয়? যদি তা হয় তবে দ্রোবো লোকেরা উত্তরের জন্য সর্বাধিক সেরা জায়গা হতে পারে।
জেফারি হিক্স

উত্তর:


12

এখান থেকে উদ্ধৃত :

আমার ক্ষেত্রে, আমি উত্স এবং গন্তব্য ভাগ উভয়ই সম্পূর্ণ নিয়ন্ত্রণ দিয়ে শুরু করেছি। সমস্যাটি হ'ল রোবকপি সাব-ডিরেক্টরীগুলি পুনরারম্ভ করার আগে গন্তব্য ভাগের এসিএলটিকে একটি নাল মান (কারও অনুমতি নেই) এ পুনরায় সেট করে। কিছু দ্রুত পরীক্ষার পরে, আমার উপসংহারে রবোকপি উত্তরাধিকার সূত্রে প্রাপ্ত অনুমতিগুলি পরিচালনা করে না। বলুন যে আপনি সি: \ শেয়ার 1 থেকে ডি: \, এবং সি: অনুলিপি করছেন: 1 শেয়ার 1 সি: \ মূল ডিরেক্টরি থেকে এর অনুমতিগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হচ্ছে, এর আসলে কোনও স্পষ্ট এসিএল নেই। অতএব, আপনি যখন এটির এসিএল অনুলিপি করছেন, আপনি আসলে অনুলিপি করছেন ... কিছুই নয়। আপনার গন্তব্যে একটি খালি এসিএল অনুলিপি করার মাধ্যমে অনুলিপিটির প্রথম ধাপে আপনার অনুমতিগুলি সরিয়ে ফেলা হয়েছে, এবং পরবর্তী অংশে লেখা সমস্ত ত্রুটি 5 এর সাথে ব্যর্থ হয়েছে।

উত্তরাধিকার সূত্রে প্রাপ্ত অনুমতি ছাড়া আপনি উত্তরাধিকার সূত্রে প্রাপ্ত অনুমতি এবং আপনি যে গন্তব্যটিতে অ্যাক্সেস করছেন এমন কোনও উত্স থেকে অনুলিপি করার সময় এটি কেবলমাত্র সমস্যা। আপনি যদি সি: \ (এটির এসিএলে স্পষ্টভাবে প্রকাশ করেছেন), ডি: copy তে অনুলিপি করেন তবে কোনও সমস্যা নেই। এটি যদি সত্যিই আপনার সমস্যা হয় তবে আপনি সম্পূর্ণ নিয়ন্ত্রণের সাথে উত্স এসিএলে স্পষ্টভাবে নিজেকে যুক্ত করে সমাধান করতে পারেন। অনুলিপিটি চললে আপনার এসিএল এন্ট্রিটি গন্তব্যটিতে সদৃশ হয়ে যায় এবং পরবর্তী ফাইলের অনুলিপিগুলিও লেখা যায়। অনুলিপিটি সম্পূর্ণ হওয়ার পরে আপনি নিজের পরিবর্তনগুলি (উত্স এবং গন্তব্য উভয়দিকেই) পূর্বাবস্থায় ফিরিয়ে আনতে পারেন।

যদি উপরের কথা সত্ত্বেও আপনার যদি সমস্যা থেকে থাকে তবে আপনি / বি স্যুইচ চেষ্টা করে বিবেচনা করতে চাইতে পারেন, যা ব্যাকআপ অপারেটর হিসাবে আপনার সুবিধাগুলি ব্যবহার করে ফাইলটিকে ব্যাক আপ করার চেষ্টা করে। এটি আপনাকে এমন ফাইলগুলি অনুলিপি করার অনুমতি দেবে যা আপনি অন্যথায় করতে পারেন নি, উদাহরণস্বরূপ, আপনি যদি নিজের গন্তব্য ভাগের এসিএলে না থাকেন। পুনঃসূচনাটি পুনরায় আরম্ভযোগ্য অনুলিপিটির চেষ্টা করতে ডিফল্ট। পুনরায় আরম্ভযোগ্য অনুলিপিগুলি দেওয়ার পরে সবচেয়ে খারাপ পরিস্থিতিটি হ'ল আপনি কোনও ব্যত্যয় ঘটলে বর্তমানে স্থানান্তরিত হওয়া ফাইলটি হারাবেন। পরের পাসটি পার্টওয়ে দিয়ে পরিবর্তে সেই ফাইলটির শুরু থেকে পুনরায় আরম্ভ করবে।

আশা করি এইটি কাজ করবে. মাইক্রোসফ্টের রবোকপি ডকের / বি সুইচ সম্পর্কিত একটি উদ্ধৃতি এখানে:

উদ্ধৃতি:

আপনি যদি ফাইলের ডেটা সহ এনটিএফএস সুরক্ষা তথ্য (এসিএল) অনুলিপি করেন তবে যে ফাইলগুলিতে আপনি অ্যাক্সেস পড়েছেন সেগুলি অনুলিপি করা সম্ভব, তবে লেখার অ্যাক্সেস নয়। এই জাতীয় ফাইলটি একবার অনুলিপি করার পরে, এবং এসিএলগুলি প্রয়োগ করার পরে, আপনি যখন আবার ফাইলটি অনুলিপি করার চেষ্টা করবেন তখন আপনি "অ্যাক্সেস অস্বীকৃত" ত্রুটি পেতে পারেন। এই পরিস্থিতিতে আপনার ফাইলগুলি ব্যাকআপ মোডে অনুলিপি করতে / বি বা / জেডবি সুইচ ব্যবহার করা উচিত।

/ বি ব্যাকআপ শব্দার্থক (ব্যাকআপ মোড) সহ সমস্ত ফাইল অনুলিপি করে। / জেডবি প্রথমে পুনরায় আরম্ভযোগ্য মোডে ফাইলগুলি অনুলিপি করার চেষ্টা করে (বৃহত্তর স্থিতিস্থাপকতার জন্য) তবে যদি এটি "অ্যাক্সেস অস্বীকৃত" ত্রুটিতে ব্যর্থ হয় তবে এটি ব্যাকআপ মোড ব্যবহার করে অনুলিপিটি স্বয়ংক্রিয়ভাবে চেষ্টা করে।


5

Backupপতাকা ব্যবহার করে ফাইলগুলি অনুলিপি করে দেখুন :

/ বি: ব্যাকআপ মোডে ফাইলগুলি অনুলিপি করুন।


Thx, আমি চেষ্টা করব।
এডোসফট

/ জেডবি কমান্ডের সাথে আলাদা কী?
সিনিয়র সিস্টেমস ইঞ্জিনিয়ার

2

পূর্ববর্তী উত্তরগুলি ছাড়াও আমি আমার পক্ষে কাজ করে এমন ফিক্সটি বাড়িয়ে দিতে পারি। আমার ক্ষেত্রে আমার কাছে স্থানীয় ফোল্ডার ছিল এবং ফাইলগুলি হ'ল মালিকানার মালিকানা দাবি করেছেন সিস্টেমটির অন্য একজন ব্যবহারকারী। আমি কেবল সমস্ত ফোল্ডার এবং সাব ফোল্ডারগুলির মালিকানা দাবি করেছি এবং ব্যাকআপ সুইচ ছাড়াই সবকিছু ঠিকঠাক কাজ করেছে।

কোনও ফোল্ডার এবং এর উপ ফোল্ডারগুলির মালিকানা দাবি করুন: http://technet.microsoft.com/en-us/magazine/ff404240.aspx


সুতরাং এই ক্ষেত্রে, ফোল্ডারটি ব্যাচ স্ক্রিপ্ট ব্যবহারকারী অ্যাকাউন্ট দ্বারা মালিকানা দাবি করতে হবে?
সিনিয়র সিস্টেমস ইঞ্জিনিয়ার

1

এটি স্বয়ংক্রিয়ভাবে ঠিক করার জন্য আপনি কোনও স্ক্রিপ্টও লিখতে পারেন

# To run robocopy with logging which logs errors
robocopy source dest /MIR /NP /TEE /R:0 /W:1 /FFT /LOG+:log.txt 

# get errors from log and use set-content so it only writes if there are errors.
get-content log.txt | select-string "0x00000005" | set-content errors.log

#if statements to check if it even had errors.  only if errors go into if statement.
if (test-path errors.log) {

    #now capture the paths exactly.  Get-unique so it writes one error only once. 
    #Will assume you're using UNCs to copy vs. drive letters, please modify as necessary
    select-string -path errors.log -pattern "\\\\.*$" | %{ $_.Matches[0].captures[0].value} | get-unique > paths.log

    #just do foreach loop for each path.
    foreach ($path in $paths) { 

        #use subinacl to take ownership and assign permissions, it is better and faster 
        #than icacls and ps ways but you can use whatever works.  Report the changes you 
        #made.  if '$path' is a folder then you will need to modify subinacl command to 
        #inherit etc.  look it up.
        .\subinacl /file "$path" /setowner="YOUR ID" >> change-perms.log
        .\subinacl "$path" /grant="your ID"=F >> change-perms.log

    }

    #run your robocopy command again to copy missed file in previous step. 
    robocopy source dest /MIR /NP /TEE /R:0 /W:1 /FFT /LOG+:log.txt 

    #Delete the error log file so it does not go in to if loop next time you run.
    remove-item error.log (use force, erroraction etc as necessary)

}

এটি উল্লেখযোগ্য যে এই স্ক্রিপ্টটি উইন্ডোজ পাওয়ারশেলের সাথে ব্যবহারের জন্য।
কেভিন ফেগান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.