উইন্ডোতে rsync ফাইল অনুমতি


32

আমার একটি আরএসসিএনসি সার্ভিস রয়েছে যা দূরবর্তী মেশিন থেকে একটি মেশিনে ফাইলগুলি সিঙ্ক করে যা সেগুলি একটি ড্রাইভে ফেলে দেয়।

গন্তব্য ফোল্ডারের নেটিভ অনুমতি নিতে আমার অনুলিপি করা ফাইলগুলি দরকার।

সিঙ্ক প্রক্রিয়াটি সূক্ষ্মভাবে চলে, তবে এটি শেষ হওয়ার পরে, আমি কয়েকটি ফোল্ডার অ্যাক্সেস করতে পারি না - অনুমতি অস্বীকার।

আমি ডোমেন প্রশাসক হিসাবে লগ ইন করছি; এটি আমাকে উল্লিখিত ফোল্ডারগুলিতে কোনও অনুমতি পরিবর্তন করতে দেয় না won't শেষ ঘন্টা?

আপনার আদেশ প্রদান করুন:

rsync.exe  -v -rlt -z --delete "src_path" "dst_path"

আপনি বর্তমানে কোন কমান্ড সিঙ্ক করতে ব্যবহার করছেন?
জন টি

উত্তর:


24

( http://www.samba.org/ftp/rsync/rsync.html থেকে )

সংক্ষেপে: গন্তব্য ফাইলগুলি (পুরানো এবং নতুন উভয়) উত্সের অনুমতি দেওয়ার জন্য, ব্যবহার করতে --perms

নতুন ফাইলগুলিকে গন্তব্য-ডিফল্ট অনুমতি দেওয়ার জন্য (বিদ্যমান ফাইলগুলি অপরিবর্তিত রেখে যাওয়ার সময়) --permsবিকল্পটি বন্ধ রয়েছে এবং তা ব্যবহার করা --chmod=ugo=rwXনিশ্চিত করুন (যা নিশ্চিত করে যে সমস্ত অ-মুখোশ বিট সক্ষম হয়ে গেছে)।

আপনি যদি এই আধুনিক আচরণটি টাইপ করা সহজতর করে তুলতে আগ্রহী হন তবে আপনি এটির জন্য একটি পপ্ট ওরফে সংজ্ঞা দিতে পারেন, যেমন ~ / .popt ফাইলটিতে এই লাইনটি লাগানো (নীচে -Z বিকল্পটি সংজ্ঞায়িত করে এবং ----- গন্তব্য ডিয়ার ডিফল্ট গ্রুপটি ব্যবহার করতে):

    rsync alias -Z --no-p --no-g --chmod=ugo=rwX

অনেক ধন্যবাদ. আমি ব্যবহার করতে সঠিক পতাকাগুলি মনে করতে পারি না ...
ভোকুহিলা-অলিবা

2
এটি লিনাক্সে আরএসসিএনসি সম্পর্কিত, তবে উইন্ডোজ ড্রাইভে আরএসসি'ই করার সময় সমস্যাটি সর্বদা সমাধান করা যায় না, যা মূল পোস্টটি যা জিজ্ঞাসা করছে।
সাইমন ইস্ট

18

সাইগউইনের "পজিক্স" সুরক্ষা আমাকে উইন্ডোজ এনটিএফএস ফাইল অনুমতি - এমনকি --no-permsআরএসসিএনসি ব্যবহার করে প্রচুর সমস্যা তৈরি করেছে ।

আমি দেখেছি যে সদ্য নির্মিত ফাইল / ফোল্ডারগুলি ডিফল্ট অনুমতিগুলির সঠিকভাবে উত্তরাধিকার সূত্রে পায় না, তবে প্রতিটি ফাইল / ফোল্ডার <not inherited>উইন্ডোজ ফাইল / ফোল্ডার অ্যাডভান্স্যান্সড সুরক্ষা ট্যাবে প্রচুর এন্ট্রি সহ শেষ হয় । (এবং এই সমস্যাটি কেবল আরএসসিএন-সম্পর্কিত নয়)।

আমি এই সম্পর্কিত পোস্টটি এবং এই লিঙ্ক উভয়ই noaclসিগুইনের /etc/fstabফাইলটিতে বিকল্পটি ব্যবহার করে কীভাবে এই সমস্যাগুলি সমাধান করবেন সে ক্ষেত্রে খুব সহায়ক found এই সমাধানটির খারাপ দিকটি হ'ল সাইগউইন ফাইল / ফোল্ডার অনুমতি সেট করার ক্ষমতা হারিয়ে ফেলে তবে বেশিরভাগ ক্ষেত্রে এটি গুরুত্বপূর্ণ নয়।

(এই বিষয়টিকে গুগল করাতে আপনি সম্ভবত সিওয়াইওয়ুইন = এনএনটিএসইসি এনভায়রনমেন্ট ভেরিয়েবল সেট করার জন্য উল্লেখগুলি খুঁজে পাবেন তবে এটি সাইগউইন ভি 1.5 এর জন্য এবং এটি সাইগউইন ভি 1.7 এর পরে কাজ করবে না।)


/ Etc / fstab ফাইলটি সম্পাদনা করা আমার জন্য এটি স্থির করে। এটি করার জন্য আমাকে সাইগউইনের মধ্যে আর একটি স্থাপনার পরিবর্তে ডেল্টা কপির পরিবর্তে আরএসসিএনসি ব্যবহার করতে হয়েছিল।
ম্যাট কনোলি

যদি আপনি কেবল cwrsync প্যাকেজটি ব্যবহার করেন (এবং সাইগউইন নয়) আপনি fstab ফাইলটি কোথায় রাখবেন?
সাইমন ইস্ট

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

দেখে মনে হচ্ছে যে আমি বিল্ট-ইন ড্রাইভার ব্যবহার করে ম্যাকওএসে এনটিএফএসের মাউন্ট করার "ঝুঁকিপূর্ণ" পদ্ধতিটি ব্যবহার করছি, যা প্যারাগন / টাক্সেরা এবং FUSE ড্রাইভারের তুলনায় অনেক কম স্থিতিশীল বলে মনে করা হচ্ছে। আপনি যদি একই নৌকোতে থাকেন তবে তা মনে রাখবেন
স্টিভেন লু

8

উইন্ডোজে ডেল্টা কপির সাথে আমি এটি দিয়ে কাজ করতে পারি:

rsync --perms --chmod=a=rw,Da+x ...

এটি এমনকি সঙ্গে কাজ করে --recursive


এটি বেশিরভাগ ক্ষেত্রেই কাজ করেছে, তবে, আমাকে a = rwx অন্তর্ভুক্ত করার জন্য --chmod বিকল্পটি পরিবর্তন করতে হয়েছিল যাতে ব্যাচ ফাইলগুলি ইত্যাদি সঠিকভাবে সম্পাদন করতে পারে।
টেলর গেরিং

1
এটি আমার পক্ষে কাজ করা একমাত্র বিকল্প। উপরে প্রস্তাবিত --no-perms ব্যবহার করে এবং fstab ব্যবহারের কোনও ফল হয়নি। এইটি আমাকে কেবল কিছু << উত্তরাধিকারসূত্রে প্রাপ্ত নয়> অনুমতিগুলি দিয়েছিল, যা আমি চাইতাম এমন অনুমতি ছিল এবং কার্যকরকারী ব্যবহারকারীর জন্য কোনও অস্বীকারের অনুমতি অন্তর্ভুক্ত করে না। ধন্যবাদ!
অরোনভানআম্মার্স

ডেল্টাপোপিতে একটি চিমড এক্সিকিউটেবল রয়েছে যা পরে অনুমতিগুলি ঠিক করতে পারে যেমন, chmod -R 777 / cygdrive / g
jnnnnn

1
- কপিগুলি কেবল আমার জন্য অনুপস্থিত ছিল, অনুলিপিটি কেবল পাঠ্য ইস্যু হিসাবে সমাধান করা।
টাইলার এস লোপার 13

1

RSSync, কমপক্ষে সাইগউইনে নিম্নলিখিত সুইচ রয়েছে:

-A, --acls এসিএল সংরক্ষণ করে (বোঝায় - স্পর্শকৃত)

আমার সাইগউইন সংস্করণটি হ'ল:

CYGWIN_NT-6.3 1.7.29 (0.272 / 5/3) 2014-04-07 13:46 x86_64 সাইগউইন

আশাকরি এটা সাহায্য করবে!


1
সুপার ব্যবহারকারীকে স্বাগতম! যদিও এটি তাত্ত্বিকভাবে প্রশ্নের উত্তর দিতে পারে, উন্নতির স্বার্থে এই প্রশ্নের উত্তর কীভাবে দেওয়া হবে তার বিবরণ অন্তর্ভুক্ত করা ভাল (আপনার দাবির ব্যাক আপ করার উত্সকে উদ্ধৃত করে আরও বলা) include
জি-ম্যান বলছেন 'মনিকা পুনরায় ইনস্টল করুন'

1

শীর্ষ রেট করা উত্তরগুলি কেবল তখনই কাজ করে যদি আপনি উইন্ডোজে এসএসএসের মাধ্যমে আরএসসিএন ব্যবহার করেন। আপনি যদি সাইগউইন আরএসসিএন ডেমন ব্যবহার করছেন তবে / etc / fstab এ কেবল noacl ব্যবহার করা সাহায্য করে না, কারণ যে কারণেই এটি ব্যবহারকারীর হাত থেকে মুক্তি পেয়ে এবং নোকল, ওভাররাইড ইত্যাদি চেষ্টা করে থাকলেও উত্তরাধিকারকে সম্মান করে না যদি আপনি কোনও শীর্ষ স্তরের ড্রাইভের দিকে ঝাঁকুনি দিচ্ছেন এবং /etc/rsyncd.conf- এ যে কোনও পথ = / সাইগড্রাইভ / যা ব্যবহার করেন। পরিবর্তে, আপনি / etc / fstab এ একটি পৃথক মাউন্ট পয়েন্ট তৈরি করতে হবে এবং তার পরিবর্তে আপনার rsyncd.conf এ ব্যবহার করতে হবে:

D:\     /d_drive  ntfs    binary,posix=0,noacl,user,override      0 0

/etc/rsyncd.conf- এ, আপনার এইরকম কিছু থাকতে হবে:

use chroot = yes

[d_drive]
path = /d_drive
comment = d_drive
auth users = someUser
secrets file = /etc/rsyncd.secrets
read only = false
write only = false
list = false
uid = someUser

তারপরে আমাকে উইন্ডোজ সিস্টেমটি পুনরায় চালু করতে হবে, কেবল আরএসসিএনসি সার্ভিসটি পুনরায় চালু করা কোনওভাবেই সহায়তা করবে বলে মনে হচ্ছে না, এটি ক্রুট এবং চিডির ত্রুটিগুলি ছুঁড়ে ফেলেছে (যদিও / ডি_ড্রাইভ মাউন্ট ছিল এবং ক্রুট = মিথ্যা ব্যবহার করেছিল এবং আমি এটি লিখতে পারি)। তারপরে আপনি উইন্ডোজ সিস্টেমে আরএসসিএন ব্যবহার করুন:

cd /local/path/to/copy
rsync -rltD --no-p --no-g --no-o  ./ rsync://someUser@localhost:remotePort/d_drive/

1

অতীতে আমি উইন্ডোতে আমার বর্তমান ব্যবহারকারীর জন্য অনুমতিগুলি পুনরায় নির্ধারিত করেছি তারপরে takeownএকটি উন্নত কমান্ড প্রম্পটে ব্যবহার করে:

takeown /f <NameOfFolder> /r /d Y

অবশ্যই, আপনি যদি rsyncপ্রথম স্থানে সঠিক পতাকা ব্যবহার করেন তবে এটি অপ্রয়োজনীয় তবে rsyncআপনি যদি ইতিমধ্যে অনুলিপি করেছেন এমন ফাইলগুলির জন্য পুনরায় কাজ করতে না চান তবে আমি এটির পরামর্শ দেব would


1
সুপার ব্যবহারকারীকে স্বাগতম! প্রশ্নটি আবার মনোযোগ সহকারে পড়ুন। আপনার উত্তরটি মূল প্রশ্নের উত্তর দেয় না
DavidPostill

প্রদত্ত প্রশ্নটি "কী দেয়?" আমি বলব এর উত্তরটিও একটি সমাধান নয় বরং একটি ব্যাখ্যা তাই এখানে বেশিরভাগ উত্তর প্রশ্নের উত্তর দেয় না। এটি ইস্যুতে এখনও কার্যকর এবং প্রাসঙ্গিকভাবে উপযুক্ত সংযোজন তবে আরও উপযুক্ত হলে আমি এটি একটি মন্তব্যে স্থানান্তর করতে পারি।
কোডিংলুমিস

ওহ অপেক্ষা করুন, আমি মন্তব্য যুক্ত করতে পারছি না কারণ আমার কাছে 50+ খ্যাতি নেই তাই এটি এখানেই থাকতে হবে।
কোডিংলুমিস

correct rsync flags> এবং তাদের কি হবে?
oldmud0

@ ওল্ডমড0 উত্তরগুলি দেখুন যা কপির সময় অনুমতিগুলি নির্ধারণ করে এমন পতাকাগুলির উপযুক্ত সংমিশ্রণের জন্য আমার পূর্ববর্তী উত্তরগুলি দেখুন। আমার সমাধানটি তাদের জন্য আদর্শ উপযুক্ত যারা ইতিমধ্যে ফাইলগুলি অনুলিপি করেছেন এবং অনুমতিগুলি সঠিক কিনা তা নিশ্চিত করার জন্য তাদের আবার একটি অনুলিপি মুছে ফেলতে চান না।
কোডিংলুমিস

0

আমার এই সমস্যাটি ছিল rsnapshot, যা ব্যাকআপের জন্য rsync ব্যবহার করে। আমি এটিকে সরিয়ে --relativeদিয়ে ওভাররাইড করেছি rsync_long_args। এর পরে cডিস্কের জন্য নিজেই অদ্ভুত অনুমতিগুলি তৈরি করে না।

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