সংবেদনশীলভাবে পরিচালনা করে এমন Rsync


10

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

ফাইলের চালনা ভালভাবে পরিচালনা করে এমন কোনও ভাল টুকরো সম্পর্কে কেউ কি জানেন?

আমি খুঁজে পেয়েছি যে একত্রীকরণের জন্য এটি সক্ষম হওয়া উচিত তবে এটি অনুশীলনে কাজ করে বলে মনে হয় না। আমি দুটি স্থানীয় ডিরেক্টরিকে একটি বড় ফাইলের সাথে সমন্বয় করে একত্রীকরণের পরীক্ষা করেছি এবং এটি এখনও একটি মুছে ফেলা + সৃষ্টি হিসাবে আমার পদক্ষেপটি সনাক্ত করেছে এবং কার্যকরভাবে আরএসসিএনসি থেকেও ধীর ছিল ।

তদুপরি, আমি কয়েক মাস আগে একত্রীকরণের উত্স কোডটি দেখে আমার যদি সঠিকভাবে মনে থাকে তবে এটি শ স্যামস করার মতো কিছু করার চেষ্টা করেছিল — এবং আমি চাই না আমার আদর্শ সমাধানটি শ অঙ্কগুলি করুক - এটি খুব ধীর গতিতে ফাইল / ডিরেক্টরি। আমি এমন কিছু চাই যা বিষয়গুলিকে লক্ষ্য করে:

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

আমার পক্ষে এটি গুরুত্বপূর্ণ যে আমি এই মেশিনগুলি দ্রুত সিঙ্ক করতে সক্ষম হয়েছি।

কোন পরামর্শ?

উত্তর:


6

আপনি কটাক্ষপাত করা উচিত rdiff ব্যাকআপ এটা আছে rsyncনীচে তবে অতিরিক্ত বুদ্ধিমত্তা যে আপনার প্রয়োজন সঙ্গে (এবং ক্রমবর্ধমান ফিরে ঘূর্ণায়মান করতে সক্ষম ব্যাকআপ করে তোলে, কিন্তু আপনি যে সুইচ বন্ধ কনফিগার করতে পারেন)।

সর্বশেষ প্রকাশটি পুরানো (২০০৯), তবে এটি স্থিতির লক্ষণ।


2
কেউ চেষ্টা করেছে?
কুয়াশা

3

ইউনিজনস আপনি যা চান তা করেন তবে কেবল দূরবর্তী সিঙ্ক্রোনাইজেশনের জন্য। ssh://localhost/path/to/dirশিকড়গুলির মধ্যে একটি হিসাবে ব্যবহার করার চেষ্টা করুন ।

ইউনিসন ফাইলের বিষয়বস্তুগুলির উপর ভিত্তি করে তার সিদ্ধান্তগুলিকে ভিত্তি করে, এটি ইনোড সংখ্যার উপর নজর রাখে না।


1

উত্স এবং টার্গেট ডিরেক্টরিতে থাকা ফাইল সিস্টেমগুলিতে যদি হার্ড লিঙ্কগুলির জন্য সমর্থন থাকে তবে আপনি আরএসসিএন দিয়ে সরানো এবং নাম পরিবর্তন করা ফাইলগুলি পরিচালনা করতে পারেন। ধারণাটি হ'ল আসল স্থানান্তরের আগে হার্ড লিঙ্কগুলিকে পুনর্গঠন করতে আরএসসিএনকে দেওয়া উচিত। আপনি এখানে একটি ভাল ব্যাখ্যা পেতে পারেন

আমরা একটি সহজ সমাধান দিয়ে শেষ করেছি যা উত্স / টার্গেট ডিরেক্টরিতে হার্ড লিঙ্কগুলির একটি লুকানো গাছ তৈরি করে, মূল স্ক্রিপ্টটি এরকম হতে পারে:

# Name of hidden directory
Shadow=".rsync_shadow"

# do real sync
rsync -ahHv --stats --no-inc-recursive --delete --delete-after "$Source"/ "$Target"

# update/create hidden dir of hard links in source
rsync -a --delete --link-dest="$Source" --exclude="/$Shadow" "$Source"/ "$Source/$Shadow"

# update/create hidden dir of hard links in target
rsync -a --delete --link-dest="$Target" --exclude="/$Shadow" "$Target"/ "$Target/$Shadow"

গিটহাবে আমার একটি উদাহরণ স্ক্রিপ্ট রয়েছে । তবে আমি আপনাকে পরামর্শ দিচ্ছি উত্পাদনে এই পদ্ধতিটি ব্যবহার করার আগে প্রচুর পরিমাণে পরীক্ষা করার জন্য।


0

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


0

lsyncd সরানো ফাইলগুলি rsync + ssh আচরণের সাথে পরিচালনা করে, যদিও কিছুটা বগি হয় (আমি প্রায় 15% মুভগুলি মুছুন / অনুলিপি হিসাবে পরিচালনা করি, তবে কেন তা খুঁজে বের করতে পারি না)। বেশিরভাগ সময় এটি কাজ করে।

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