কীভাবে একটি একক ফাইল আরএসওয়াইএনসি করবেন?


95

বর্তমানে আমি কেবল এইভাবে আরএসসিঙ্ক-ইন-ইন করছি Directories:

* * * * * rsync -avz /var/www/public_html/images root@<remote-ip>:/var/www/public_html

তাহলে আমি কীভাবে rsyncএকটি একক ফাইল করব /var/www/public_html/.htaccess?

উত্তর:


160

আপনি যেমনটি ডিরেক্টরিতে চান তেমনভাবে করেন তবে উত্স হিসাবে আপনি ফাইলের পুরো পথটি নির্দিষ্ট করেছেন। আপনার উদাহরণে:

rsync -avz   --progress  /var/www/public_html/.htaccess root@<remote-ip>:/var/www/public_html/

মন্তব্যে উল্লিখিত হিসাবে: যেহেতু পুনরাবৃত্তি-a অন্তর্ভুক্ত রয়েছে , একটি ছোট টাইপো এটি একটি সম্পূর্ণ ডিরেক্টরি ট্রি ট্রান্সফার বন্ধ করতে পারে, যাতে আরও বোকা-প্রমাণ পদ্ধতির কেবল ব্যবহার করতে পারে , বা এটির সাথে প্রতিস্থাপন করতে পারে ।-vz-lptgoD


19
এছাড়াও যদি আপনি কেবল একটি ফাইল প্রেরণ করছেন তবে আপনি "--progress" পরামিতি যুক্ত করতে চাইতে পারেন যাতে আপনি এটির অগ্রগতি দেখতে পারেন।
জোশস্ট্রেঞ্জ

এর অর্থ কি এই যে আপনার এখনও ফাইলের উপরে একটি ডিরেক্টরি (উদাহরণস্বরূপ, প্রত্যাখ্যান অপসারণ মুছে ফেলা সহ) এর সাথে rsyncd.conf এ একটি মডিউল প্রয়োজন, অথবা আপনি কেবল তার পথটি নির্দিষ্ট করে সার্ভারের যে কোনও জায়গায় ফাইলগুলি আপলোড করতে পারেন? ম্যান পৃষ্ঠাটি সে সম্পর্কে সত্যই পরিষ্কার নয়।

4
-এতে পুনরাবৃত্তির অন্তর্ভুক্ত রয়েছে এবং এটি কোনও একক ফাইলের জন্য প্রয়োজনীয় নয় যা আমি নিশ্চিত করতে পারি না যে আমি পতাকাটি একক ফাইলের জন্য ব্যবহার করব কিনা কারণ এটি যদি দুর্ঘটনাক্রমে ফাইলের নাম ডিরেক্টরিতে পরিণত হয় তবে অনিচ্ছাকৃত আচরণের কারণ হতে পারে।
redanimalwar

4
--partial --stats --progress << এই ফ্ল্যাগগুলি যদি সত্যিই বড় ফাইল হয় এবং এটি একটি ভাঙ্গা স্থানান্তরের পরে পুনরায় শুরু করতে হতে পারে তবে সহায়ক।
আহি টুনা


14

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

তবে আপনি যদি এই উত্স পথের সাথে কোনও ফাইল সিঙ্ক করতে চান তবে:

/ উত্স-রুট / এ / বি / ফাইল

নিম্নলিখিত টার্গেট পাথ সহ একটি ফাইলে:

/ টার্গেট-রুট / এ / বি / ফাইল

ও ডিরেক্টরিগুলি একটি এবং উপস্থিত না থাকার?

আপনাকে নিম্নলিখিতগুলির মতো একটি rsync কমান্ড চালানো দরকার:

rsync -r --include="/a/" --include="/a/b/" --include="/a/b/file" --exclude="*" [source] [target]

4
কোনও বিদ্যমান ফোল্ডারে স্বতন্ত্র ফাইলটি অনুলিপি করা বা ফোল্ডারগুলি আগাম তৈরি করা কি নিরাপদ হবে না? ফোল্ডার বা ফোল্ডার সামগ্রী সিঙ্কিংয়ের ক্ষেত্রে আসুন, সমস্ত কাজটি শেষ হয়ে গেলে সমস্ত সাবফোল্ডারগুলি তৈরি করুন, তবে এই বিশেষ ক্ষেত্রে এটি খুব বেশি ঝামেলা এবং জটিল - কেবলমাত্র পৃথক ফাইলগুলি অনুলিপি করার জন্য - অন্তর্ভুক্ত পরামিতিগুলি।
তুলাইনস কর্ডোভা

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

0

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

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

mkdir -p ./local/path/to/file
rsync user@remote:/remote/path/to/file/ -zarv --include "filename" --exclude "*" ./local/path/to/file/

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

cd ./local
rsync user@remote:/remote/path -zarv --include "*/" --include "filename" --exclude "*" .

মনে রাখবেন - বিষয়গুলি অন্তর্ভুক্ত এবং - অন্তর্ভুক্ত করার ক্রম।

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