প্রিয় rsync টিপস এবং কৌশল


57

আমি যত বেশি ব্যবহার rsyncকরি আমি বুঝতে পারি এটি ফাইল স্থানান্তরের একটি সুইস আর্মি ছুরি। অনেক বিকল্প আছে। আমি সম্প্রতি জানতে পেরেছি যে আপনি যেতে পারেন --remove-source-filesএবং এটি অনুলিপি করা হওয়ার পরে এটি উত্স থেকে কোনও ফাইল মুছবে, যা কপি প্রোগ্রামের পরিবর্তে এটি কিছুটা সরানো শুরু করে। :)

আপনি প্রিয় ছোট ryync টিপস এবং কৌশল কি?

উত্তর:


19

আপনার যদি অনেকগুলি ফাইল সিঙ্ক করতে হয় তবে rsync সংস্করণ 3 ব্যবহার করার চেষ্টা করুন! ভি 3 তার ফাইল তালিকাটি ক্রমবর্ধমানভাবে তৈরি করে এবং আরও দ্রুত এবং সংস্করণ 2 এর চেয়ে কম মেমরি ব্যবহার করে।

আপনার প্ল্যাটফর্মের উপর নির্ভর করে এটি বেশ পার্থক্য করতে পারে। ওএসএক্স সংস্করণে ২.6.৩ সংস্করণে এক ঘণ্টারও বেশি সময় লাগবে বা ক্রাশটি ৫ মিলিয়ন ফাইলের একটি সূচক তৈরির চেষ্টা করতে লাগবে যখন 3.0.০.২ সংস্করণ আমি সংকলন করেছি এখনই অনুলিপি করা।


একটি বিষয় লক্ষণীয় যে আপনি যদি কিছু বিকল্প ব্যবহার করেন ( --delete-beforeউদাহরণস্বরূপ) পুরানো "বিল্ড তালিকার প্রথমে" আচরণটি এই বিকল্পগুলির সঠিকভাবে কাজ করার জন্য প্রয়োজনীয় হিসাবে ব্যবহৃত হয় - সুতরাং যদি আপনি এই আচরণটি দেখতে না পান তবে অন্যান্য বিকল্প আপনি ব্যবহার করছেন এটি এটি সম্ভব হওয়া বন্ধ করার জন্য পরিচিত। আপনি যদি একটি বড় গাছে ইন্টারেক্টিভভাবে আরএসসিএন ব্যবহার করে থাকেন এবং প্রাথমিক স্ক্যানকে বাধ্য করতে চান তবে এটি কার্যকর হতে পারে যদি আউটপুটটি --progressসঠিক হয় (উদাহরণস্বরূপ "তুলনামূলকভাবে" অবজেক্টগুলি "গণনা কখনই বাড়বে না কারণ প্রাথমিক স্ক্যানের পরে কোনও নতুন অবজেক্ট পাওয়া যাবে না) )।
ডেভিড স্পিললেট

18

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

(প্রকৃতপক্ষে, আমি এখনও rysnc-ফলোড-বাই-cp -al পদ্ধতিটি ব্যবহার করি যা একই জিনিসটি অর্জন করে , উভয় কৌশলই পুরানো -তবে-এখনও-খুব ভাল চালানোর জন্য http://www.mikerubel.org/computers/rsync_snapshots/ দেখুন এবং সম্পর্কিত সমস্যা)

এই কৌশলটির একটি প্রধান অসুবিধা হ'ল যদি কোনও ফাইল ডিস্ক ত্রুটির কারণে দূষিত হয় তবে এটি সেই ফাইলের সাথে লিঙ্কযুক্ত সমস্ত স্ন্যাপশটগুলিতে ঠিক তত দূষিত। তবে আমার কাছে অফলাইন ব্যাকআপও রয়েছে যা একটি শালীন পরিমাণে এটির বিরুদ্ধে রক্ষা করবে। অন্য যে জিনিসটি সন্ধান করতে হবে তা হ'ল আপনার ফাইল সিস্টেমে পর্যাপ্ত পরিমাণ ইনোড রয়েছে বা আপনি আসলে ডিস্কের স্পেস ছাড়ার আগেই সেগুলি ছেড়ে চলে যাবেন (যদিও আমি ext2 / 3 ডিফল্টগুলির সাথে কখনও সমস্যায় পড়িনি)।

এছাড়াও, --dry-runসামান্য স্বাস্থ্যকর প্যারানোয়ার জন্য খুব দরকারী কখনও ভুলে যাবেন না , বিশেষত যখন আপনি --delete*বিকল্পগুলি ব্যবহার করছেন ।



1
মনে রাখবেন যে -n হ'ল
ড্রি

3
আমি দীর্ঘ নামগুলির সাথে লেগে থাকতে পছন্দ করি, বিশেষত স্ক্রিপ্টগুলিতে যা অন্যরা বজায় রাখতে পারে। এটি ডক্সের রেফারেন্স ছাড়াই কি উদ্দেশ্য তা স্পষ্ট করে তোলে।
ডেভিড স্পিলিট

+1 উপরে বর্ণিত হার্ড-লিঙ্কযুক্ত স্ন্যাপশটের জন্য --link-dest পদ্ধতিতে অনেকগুলি মেশিনের উপরে আমি অনেক টিবি-র একটি ব্যাকআপ সমাধান প্রয়োগ করেছি - এটি নিখুঁতভাবে কাজ করেছিল।
matja

আপনি যদি - লিঙ্ক-ডেসট ব্যাকআপগুলি পছন্দ করেন তবে দিরভিশ যা হুডের নীচে আরএসসিএন ব্যবহার করে তা দেখুন
hfs

14

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

আরএসএনসি -এ - ম্যাক্স-সাইজ = 100 কে / ভার / www / সেখানে: / ভেরি / www /

তারপরে বড় ফাইলগুলির জন্য এটি করুন:

আরএসএনসি -এ --মিন-সাইজ = 100 কে - বিউলিমিট = 100 / ভার / www / সেখানে: / ভার / www /

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


10

একটি ডিরেক্টরি থেকে অন্য স্থানে সিঙ্ক করা ফাইলের একটি ছোট উপসেট রাখার চেষ্টা করার সময় আমি --existing বিকল্পটি ব্যবহার করি।


ধন্যবাদ! এটি আমাকে কিছু বাজে ফিল্টার নিয়ম লিখন থেকে বাঁচিয়েছে।
বেনজাদো

8

--rsh আমার.

হোস্টগুলির মধ্যে সরাসরি সিঙ্ক করতে পারে না এমন ফাইলগুলি সিঙ্ক করার জন্য আমি এসএস-তে সাইফারটি দ্রুত কিছুতে ( --rsh="ssh -c arcfour") sshএটির জন্য একটি চেইন সেট করে (এটি ব্যবহার করার পরামর্শ দিয়েছি ) ব্যবহার করতে ব্যবহার করেছি ssh-agent। ( rsync -av --rsh="ssh -TA userA@hostA ssh -TA -l userB" /tmp/foobar/ hostB:/tmp/foobar/)।


7
--time-limit

এই বিকল্পটি ব্যবহার করা হলে rsync টি মিনিটের পরে থামবে এবং প্রস্থান করবে। আমি মনে করি রাতের বেলা (অ-ব্যস্ত সময়) এবং প্রচুর পরিমাণে ডেটা যখন ব্যস্ত সময় নেওয়ার সময় লোকেরা নেটওয়ার্ক ব্যবহার শুরু করার সময় বন্ধ করে দেয় তখন এই বিকল্পটি কার্যকর।

--stop-at=y-m-dTh:m

এই বিকল্পটি আপনাকে আরএসসিএনসি বন্ধ করার সময় নির্দিষ্ট করতে দেয়।

Batch Mode

অনেক অভিন্ন সিস্টেমে একই সেট আপডেট করতে ব্যাচ মোড ব্যবহার করা যেতে পারে।


দরকারী! প্রক্রিয়াটি মেরে ফেলার আগে আমি "এট" কমান্ডটি ব্যবহার করেছি
লিওনেল

উত্স প্যাচগুলি: rsync.samba.org/ftp/rsync/rsync-patches-3.1.1.tar.gz ; প্যাচ সঙ্গে win32 বাইনারি অন্তর্ভূক্ত করেছেন: itefix.no/i2/cwrsync
jftuga

2
দুর্ভাগ্যক্রমে এই বিকল্পগুলি রেডহ্যাট / সেন্টোস বা উবুন্টু ডিগ্রোসের সাথে বিতরণ করা আরএসআইএনসি তে উপলব্ধ নয়।
আইয়ানবি

@ লিওনেল: আপনি atপ্রক্রিয়াটি মারতে কীভাবে ব্যবহার করছেন ?
IMTheNachoMan

6

আপনি যদি ভাবছেন যে ধীরগতিতে চলমান আরএসসিএনসি কতটা এগিয়ে গেছে এবং ফাইলগুলি স্থানান্তরিত হওয়ার সাথে সাথে তালিকাভুক্ত করার জন্য -v ব্যবহার না করে, আপনি এটি আবিষ্কার করতে পারেন যে এটি কোন ফাইলগুলি খোলা আছে:

 ls -l /proc/$(pidof rsync)/fd/*

একটি সিস্টেম যা / proc আছে

যেমন রিমোট সিস্টেমে মনে হচ্ছে একগুচ্ছ জায়গা বাকি আছে, যদিও রিসাইঙ্কটি এখনই আমার জন্য ঝুলানো হয়েছিল। এই কৌশলটি আমাকে অপ্রত্যাশিতভাবে বিশাল ফাইল খুঁজে পেতে সহায়তা করেছিল যা আমি মনে করি না, যা অন্য প্রান্তে খাপ খায় না।

এটি আমাকে আরও আকর্ষণীয় তথ্যও বলেছিল - অন্য প্রান্তটি আপাতদৃষ্টিতে ছেড়ে দিয়েছিল, কারণ এখানে একটি ভাঙা সকেটের লিঙ্ক ছিল:

/proc/22954/fd/4: broken symbolic link to `socket:[2387837]'

5

--archive ব্যাকআপ জাতীয় কাজের জন্য একটি মানক পছন্দ (যদিও ডিফল্ট নয়) যা উত্স ফাইলগুলি (অনুমতি, মালিকানা, ইত্যাদি) থেকে সর্বাধিক মেটাডেটা অনুলিপি করা হয়েছে তা নিশ্চিত করে।

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


4

আমি সবচেয়ে বেশি --exclude-fromযেটি ব্যবহার করি তা হ'ল যা আপনাকে বাদ দেওয়া হবে এমন জিনিসগুলি নির্দিষ্ট করতে দেয়।

আমি এটিও --chmodখুব দরকারী বলে মনে করি কারণ এটি আপনাকে নিশ্চিত করতে দেয় যে অনুমতিগুলি একটি উত্সাহিত অবস্থায় শেষ হোক এমনকি যদি আপনার উত্স নষ্ট হয়।


4

--backup-dir = - date +%Y.%m.%dমুছে ফেলা আমরা মুছে ফেলছি তবে একটি অনুলিপি তৈরি করছি ... ঠিক সে ক্ষেত্রে


4

আমার হয় --inplace। ব্যাকআপগুলির জন্য সার্ভার যখন জেডএফএস বা বিটিআরএফ চলছে এবং আপনি দেশীয় স্ন্যাপশট তৈরি করেন তখন আশ্চর্য কাজ করে।


3

অবশ্যই, এমনও রয়েছে --deleteযা লক্ষ্য থেকে স্টাফ সরিয়ে দেয় যা উত্সটিতে পাওয়া যায় না।


2

cwrsync - উইন্ডোজের জন্য Rsync http://www.itefix.no/i2/node/10650

এই সংস্করণে ওপেনএসএইচ অন্তর্ভুক্ত রয়েছে যাতে আপনি কোনও সুরক্ষিত চ্যানেলের মাধ্যমে ফাইলগুলি ট্রান্সফার করতে পারেন।


আমি cwrsync ব্যবহার করি, এবং এটি দুর্দান্ত। তাই খুশি যে কেউ উইন্ডোজটিতে এই দুর্দান্ত ক্ষমতা নিয়ে এসেছেন।
অ্যান্ড্রু এনসলে

2
--partial 

বাধা ক্ষেত্রে

--bwlimit=100

ব্যান্ডউইথ সীমাবদ্ধ - বড় ফাইল, ডিরেক্টরি কপি করার জন্য ভাল


এর ইউনিট কী bwlimit? বিট প্রতি সেকেন্ড, প্রতি সেকেন্ডে বাইট?
টিমো কাহকেনেন

@ টিমো, ব্লুইমিট কেবিাইট / সেকেন্ডে রয়েছে।
অ্যান্ড্রু ফেরিয়ার

1

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


1

আমি যখন গ্লাস্টারফ ব্যবহার করি তখন শূন্য আকারের টি ফাইল সহ আমাদের বাধা রয়েছে, ক্র্যাশ হওয়া ইট বা প্রতিরূপের মধ্যে সিঙ্ক করার জন্য আমাদের অবশ্যই --min-size=1ক্র্যাশ হওয়া সার্ভার থেকে খালি ফাইল সিঙ্ক না করার জন্য ব্যবহার করতে হবে

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