আরএসসিএন-এর সাথে দ্বিপথের সিঙ্ক


95

আমার একটি / এবং একটি রিমোট ফোল্ডার এ /। আমি এখন একটি মেকফাইলে এ জাতীয় কিছু চালাচ্ছি:

get-music:
 rsync -avzru server:/media/10001/music/ /media/Incoming/music/

put-music:
 rsync -avzru /media/Incoming/music/ server:/media/10001/music/

sync-music: get-music put-music

আমি যখন সিঙ্ক-সংগীত তৈরি করি, এটি প্রথমে সার্ভার থেকে লোকাল এবং তারপরে বিপরীতে সমস্ত ভিন্নতা স্থানীয় থেকে সার্ভারে প্রেরণ করে।

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

আরএসআইএনসি-তে আমি যা চাই তা সম্পাদন করতে সহায়তা করার জন্য - ডিলিট এবং - ডিলিট-পরে বিকল্প রয়েছে তবে জিনিসটি এটি 2-ওয়ে-সিঙ্কে কাজ করে না।

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

বিষয়টি হ'ল আমার কাছে প্রসঙ্গে তিনটি মেশিন রয়েছে:

  1. ডেস্কটপ
  2. নোটবই
  3. হোম সার্ভার

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

আমার ধারণা, এটি কেবলমাত্র একটি ডাটাবেস এবং অপারেশন ট্র্যাকের মাধ্যমেই সম্ভব: পি

কোন সহজ সমাধান? ধন্যবাদ.


4
আমারও একই সমস্যা আছে। আপনি কি সমাধান খুঁজে পেয়েছেন, মেগাওয়াট?
মৌচে

7
আমি আসলে এখন করেছি। আমি অভিজ্ঞতার মতো একটি ড্রপবক্স অর্জন করার চেষ্টা করছিলাম এবং এমন একটি সমাধান নিয়ে এসেছি যাতে সংযোগের সাথে জড়িত থাকে (যা rsync ব্যবহার করে) এবং ফাইলের পরিবর্তনগুলি পর্যবেক্ষণের জন্য lsyncd। আমি এই সমাধানটি সহ আরও
লোককেও

আজকাল আমি আমার হোম সার্ভারে স্থানীয়ভাবে নেক্সটক্লাউড ব্যবহার করছি। নিখুঁত "ড্রপবক্স" একাকীকরণ আমার দ্বারা পরিচালিত 100%। অ্যান্ড্রয়েড / আইওএস / উইন / ম্যাকোস / লিনাক্স / ওয়েব ক্লায়েন্ট রয়েছে।
mwm

উত্তর:


63

একযোগে চেষ্টা করুন: http://www.cis.upenn.edu/~bcpierce/unison/

বাক্য গঠন: unison dirA/ dirB/

ইউনিসন ফাইলগুলি পৃথক হলে কী করবেন তা জিজ্ঞাসা করে, তবে আপনি নিম্নলিখিতটি ডিফল্ট (ননকনফ্লিক্টিং) বিকল্প গ্রহণ করে ব্যবহার করে প্রক্রিয়াটি স্বয়ংক্রিয় করতে পারেন:

unison -auto dirA/ dirB/

unison -batch dirA/ dirB/ মোটেই কোনও প্রশ্ন জিজ্ঞাসা করে না এবং কতগুলি ফাইল উপেক্ষা করা হয়েছিল তা আউটপুট লিখতে (কারণ তারা বিরোধিতায়)।


7
ছোট ডিরেক্টরিগুলির জন্য ইউনিসন ব্যবহার করা বেশ সহজ। তবে এটি বিশাল সংখ্যক ফাইল সহ ডিরেক্টরিগুলির জন্য খুব কম। যেখানে rsync এখনই অনুলিপি করা শুরু করবে, একসাথে কখনও কখনও অনুলিপি শুরু করতে 12 ঘন্টা সময় নেয়, কারণ এটি কোনও ফাইল অনুলিপি করার আগে প্রতিটি ফাইল স্ক্যান করে।
ব্রেন্ট ফাউস্ট

4
এটি এতে খুব ভাল? কমপক্ষে গিটটি ব্যবহার করা সহজ এবং পরিবহন দ্রুত blo কারণ ব্লাথ গিথুব দ্বারা লার্জ ফাইল স্টোরেজ নামে একটি বর্ধিত এক্সটেনশন রয়েছে ।
ওয়েনার

4
গিটের প্রধান সমস্যাগুলি হ'ল বড় ফাইল এবং এটি সত্যিকারের সুস্পষ্ট কমিটের জন্য তৈরি করা হয়েছে। উভয়ই অ্যাড-অনগুলি যেমন গিট-এনেক্স, বৃহত ফাইল স্টোরেজ ইত্যাদির মাধ্যমে যুক্তিসঙ্গতভাবে উন্নত হতে পারে
অ্যালেক্স

4
@ উইনার কোনও স্ক্রুর জন্য হাতুড়ি, বা পেরেকের জন্য কোনও স্ক্রু ড্রাইভার ব্যবহার করবেন না। :)
এডিটিসি

4
একত্রীকরণ দুর্দান্ত - তবে খুব বিশ্বাসযোগ্য নয়। আমার ব্যবহারের প্রায় 50% ক্ষেত্রে এটি সহজ কাজ করে না। এর সর্বাধিক সাধারণ কারণটি হ'ল আন্তঃ সংস্করণ ক্ষমতা। আমি কখনও কখনও কোনও কম্পিউটারে সামগ্রী সহ সিঙ্ক করি আমার কোনও সুবিধা নেই। যদি সেই সার্ভারটি আমার থেকে আলাদা সংস্করণে ঘটে থাকে তবে একসাথে ব্যর্থ হয়। উপরন্তু, আমি সম্প্রতি এটি একই সংস্করণের মিলিত ক্লায়েন্টগুলির মধ্যে ব্যর্থ হয়ে পড়েছি কারণ তারা কিছু লাইব্রেরির বিভিন্ন সংকলিত সংস্করণ ব্যবহার করছিল (এটি একটি উবুন্টু কম্পিউটার এবং একটি রাস্পবেরি পাইয়ের মধ্যে ছিল)।
আরজেন্টাম 2f


6

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

এটি জিইউআই ভিত্তিক, খুব দ্রুত এবং স্বজ্ঞাত, ফিল্টারিং এবং "সংঘর্ষগুলি" দেখতে এবং ইন্টারেক্টিভভাবে "সংযোগগুলি" পরিচালনা করার জন্য (উদাহরণস্বরূপ, একই ধরণের টাইমস্ট্যাম্পগুলির সাথে ফাইলগুলি) পরিচালনা করার জন্য এবং দ্বিদ্বন্দ্বী স্থানান্তর, আয়নাঙ্ক এবং শীঘ্রই.


5

আপনি ওসাইঙ্ক ব্যবহার করতে পারেন: http://www.netpower.fr/osync , যা বুদ্ধিমান মোছার প্রচারের উপর ভিত্তি করে rsync। এটিতে একাধিক বিকল্প রয়েছে যেমন একটি স্থগিতাদেশ কার্যকর করা পুনরায় শুরু করা, নরম মোছা এবং সময় নিয়ন্ত্রণ।


4

এটা চেষ্টা কর,

get-music:
 rsync -avzru --delete-excluded server:/media/10001/music/ /media/Incoming/music/

put-music:
 rsync -avzru --delete-excluded /media/Incoming/music/ server:/media/10001/music/

sync-music: get-music put-music

আমি কেবল এটি পরীক্ষা করি এবং এটি আমার পক্ষে কাজ করে। আমি উইন্ডোজ 7 (আরএসসিএন প্যাকেজ ইনস্টল থাকা সাইগউইন ব্যবহার করে) এবং ফ্রিএনএএস ফাইলসভারের মধ্যে ফ্রিএনএএস (আরএসসিএনসি প্যাকেজটি প্রাক-ইনস্টল থাকা ফ্রিবিএসডি-তে চালিত) এর মধ্যে একটি দ্বি-মুখী সিঙ্ক করছি।


4
এটি কি নতুন স্থানীয় ফাইলগুলি মুছবে না? -uগন্তব্যটিতে নতুন ফাইল এড়িয়ে যায়, তবে আরএসসিএনসি-র একটি মুছার বয়স ট্র্যাক করার কোনও উপায় নেই, সুতরাং কোনও স্থানীয় ফাইল নতুন (এবং রাখা উচিত) বা পুরাতন (এবং মুছে ফেলা উচিত) এর মধ্যে এই স্ক্রিপ্টটি কীভাবে পার্থক্য করতে পারে could ? নাকি আমি ভুল বুঝাবুঝি করছি?
ম্যাথমেট্যাটিক্স

না --delete-excludedযে গন্তব্য ডিরেক্টরি উপস্থিত যে কোন ফাইল কিন্তু উৎস ডিরেক্টরি মুছে ফেলতে চান? আমি ভেবেছিলাম আপনাকে সংজ্ঞায়িত --exclude=<filename>করতে হবে তাই আর এসআইএনসি কেবল এই বাদগুলি মুছবে না? অথবা আরএসসিএনসি সমস্ত অ-উত্স ডিরেক্টরি ফাইলগুলিকে "বাদ দিয়ে" হিসাবে বিবেচনা করে?
মিঃ_মনিব্যাগস

4
উত্তরটি খুঁজে পেয়েছে: প্রেরণকারী পক্ষের নয় এমন প্রাপ্তি পক্ষের ফাইলগুলি মুছে ফেলার পাশাপাশি, এটি আরএসসিএনকে রেকর্ডিং
Mr_Moneybags

4
আমি যা বুঝতে পেরেছি সেগুলি থেকে, যদি আমি গন্তব্যটিতে একটি ফাইল তৈরি করি এবং তারপরে উত্স থেকে গন্তব্যে অনুলিপি করতে rsync কমান্ড কার্যকর করি তবে এটি গন্ত্রে ফাইলটি মুছে ফেলবে, যেহেতু কোনও সময় স্ট্যাম্প ব্যবহার করা হয় না। এটা ঠিক কি আপনি চান না?
ইলেকশোবি

10
@ লাবনা: সঠিক; এই সমাধান একটি পূর্ণ 2-উপায় সিঙ্ক করতে : যেহেতু সঙ্গে rsync --delete-excludedসঙ্গে চালানো হয় সার্ভার হিসাবে উৎস প্রথম: ফাইল স্থানীয়ভাবে যোগ করা হবে মোছা যে run সময় (যেহেতু যোগ করা ফাইল সার্ভার হয় স্থানীয় টার্গেটের অনুলিপি করেছে)। সার্ভারে সিঙ্ক করা একমাত্র স্থানীয় ফাইল হ'ল ফাইলগুলি যা সার্ভারেও বিদ্যমান এবং সেগুলি স্থানীয়ভাবে সংশোধন করা হয়েছিল (সার্ভার সংস্করণগুলির চেয়ে সাম্প্রতিককালে) - যা সম্ভবত ওপির দৃশ্যে নয়। আপনি ইঙ্গিত হিসাবে, মিথথিক্স সত্য দ্বি-মুখী সিঙ্কিংটি এর সাথে করা যায় না rsync, কারণ রানের মধ্যে রাষ্ট্রের সংরক্ষণ প্রয়োজন।
mklement0

3

আপনি চেষ্টা করে দেখতে পারেন csync , এটা ফণা অধীন সিঙ্ক ইঞ্জিন owncloud


4
2018 হিসাবে, সায়েন্স্ক বিকাশ স্থগিত হয়ে গেছে এবং নিজের ক্লাউড দেখে মনে হচ্ছে তারা এটিকে কাঁটাচ্ছে। দেখুন: github.com/owncloud/client/issues/4661 আরো বিস্তারিত জানার জন্য
হারুন

1

আমি এখন স্পার্কলশেয়ার https://www.sparkleshare.org/ ব্যবহার করছি

ম্যাক, লিনাক্স এবং উইন্ডোতে কাজ করে।


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

0

এটি দুটি সিঙ্কের সাথে কাজ করে কিনা তা আমি নিশ্চিত নই তবে কাজ শেষ করার জন্য - কাজটি শেষ করতে আপনারও --recursive পরামিতি যুক্ত করতে হবে।


4
বিকল্প সংক্ষিপ্ত সমতুল্য --recurseহয় -r, যা ওপি হয় (সংকুচিত-অপশন গ্রুপ এমবেড ব্যবহার -avzru)।
mklement0

0

কোনও ফোল্ডারকে রিমোটের সাথে ইন-সিঙ্ক করতে আপনি ক্লাউড সিঙ্ক ব্যবহার করতে পারেন :

pip install cloudsync
pip install cloudsync-gdrive
cloudsync sync file:c:/users/me/documents gdrive:/mydocs

রিমোটটি যদি এনএফএস হয় তবে আপনি এটি ব্যবহার করতে পারেন:

cloudsync sync file:c:/users/me/documents/ file:/mnt/nfs/whatevs

-1

রিক্লোন যা আপনি খুঁজছেন। Rclone ("ক্লাউড স্টোরেজের জন্য rsync") হ'ল একটি কমান্ড লাইন প্রোগ্রাম যা স্থানীয় ফাইল সিস্টেমগুলি সহ বিভিন্ন ক্লাউড স্টোরেজ সরবরাহকারীগুলিতে এবং ফাইলগুলি এবং ডিরেক্টরিগুলিকে সিঙ্ক করার জন্য। রক্লোন পূর্বে সুইফিসিনক হিসাবে পরিচিত ছিল এবং এটি 2013 থেকে পাওয়া যাচ্ছে।


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