বর্তমানে আমি কেবল এইভাবে আরএসসিঙ্ক-ইন-ইন করছি Directories
:
* * * * * rsync -avz /var/www/public_html/images root@<remote-ip>:/var/www/public_html
তাহলে আমি কীভাবে rsync
একটি একক ফাইল করব /var/www/public_html/.htaccess
?
উত্তর:
আপনি যেমনটি ডিরেক্টরিতে চান তেমনভাবে করেন তবে উত্স হিসাবে আপনি ফাইলের পুরো পথটি নির্দিষ্ট করেছেন। আপনার উদাহরণে:
rsync -avz --progress /var/www/public_html/.htaccess root@<remote-ip>:/var/www/public_html/
মন্তব্যে উল্লিখিত হিসাবে: যেহেতু পুনরাবৃত্তি-a
অন্তর্ভুক্ত রয়েছে , একটি ছোট টাইপো এটি একটি সম্পূর্ণ ডিরেক্টরি ট্রি ট্রান্সফার বন্ধ করতে পারে, যাতে আরও বোকা-প্রমাণ পদ্ধতির কেবল ব্যবহার করতে পারে , বা এটির সাথে প্রতিস্থাপন করতে পারে ।-vz
-lptgoD
মাইকেল প্লেসের উত্তরটি দুর্দান্ত কাজ করে যদি উত্স এবং লক্ষ্য উভয়র জন্যই মূল ডিরেক্টরিটির সাথে সম্পর্কিত, ফাইলের পথের সমস্ত ডিরেক্টরি ইতিমধ্যে উপস্থিত রয়েছে।
তবে আপনি যদি এই উত্স পথের সাথে কোনও ফাইল সিঙ্ক করতে চান তবে:
/ উত্স-রুট / এ / বি / ফাইল
নিম্নলিখিত টার্গেট পাথ সহ একটি ফাইলে:
/ টার্গেট-রুট / এ / বি / ফাইল
ও ডিরেক্টরিগুলি একটি এবং খ উপস্থিত না থাকার?
আপনাকে নিম্নলিখিতগুলির মতো একটি rsync কমান্ড চালানো দরকার:
rsync -r --include="/a/" --include="/a/b/" --include="/a/b/file" --exclude="*" [source] [target]
আজ অবধি, দুটি উত্তর পুরোপুরি সঠিক নয়, তারা একাধিক ফাইল পাবে এবং অন্যটি এটির মতো সহজ নয়, এখানে একটি সহজ উত্তর আইএমও।
নিম্নলিখিতটি ঠিক একটি ফাইল পেয়েছে, তবে আপনাকে এমকেডির দিয়ে ডেস্ট ডিরেক্টরি তৈরি করতে হবে। এটি সম্ভবত দ্রুততম বিকল্প:
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 "*" .
মনে রাখবেন - বিষয়গুলি অন্তর্ভুক্ত এবং - অন্তর্ভুক্ত করার ক্রম।