rsync .htaccess ফাইল সিঙ্ক্রোনাইজ করা হচ্ছে না


91

আমি সার্ভার 2 এর ডিরেক্টরি বি এর সাথে সার্ভার 1-র একটি ডিরেক্টরি ডিরেক্টরী করতে চাইছি।

সার্ভার 1 এর ডিরেক্টরি এ বসে আমি নিম্নলিখিত কমান্ডগুলি চালিত করেছি।

rsync -av * server2::sharename/B

তবে মজার বিষয় হ'ল, এটি .htaccess বা ডিরেক্টরিতে থাকা কোনও লুকানো ফাইল ব্যতীত সমস্ত ফাইল এবং ডিরেক্টরিকে সিঙ্ক্রোনাইজ করে sub

আমি নিম্নলিখিত কমান্ডটিও চেষ্টা করেছিলাম:

rsync -av --include=".htaccess" * server2::sharename/B

তবে ফলাফল একই।

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

ধন্যবাদ


4
: আমি আপনাকে একটি উত্তর নিয়ে সন্তুষ্ট হলে করলে, আপনি এটি গ্রহণ করা উচিত meta.stackexchange.com/questions/5234/...
Kutzi

উত্তর:


109

এটি এই কারণের কারণে যে *ডিফল্টরূপে বর্তমান ওয়ার্কিং ডিরেক্টরিতে সমস্ত ফাইলগুলিতে প্রসারিত ফাইলগুলি বাদ দেয় যার নাম একটি বিন্দু দিয়ে শুরু হয়। সুতরাং, rsyncএই ফাইলগুলি কখনই আর্গুমেন্ট হিসাবে গ্রহণ করে না।

আপনি .বর্তমান ওয়ার্কিং ডিরেক্টরিটি এখানে চিহ্নিতকরণ করতে পারবেন rsync:

rsync -av . server2::sharename/B

এই পদ্ধতিতে rsyncফাইলগুলি বর্তমান ওয়ার্কিং ডিরেক্টরিতে স্থানান্তর করার জন্য সন্ধান করবে *যেগুলি প্রসারিত হবে সেগুলির অনুসন্ধান করার বিপরীতে ।

বিকল্পভাবে, আপনি *বিন্দু দিয়ে শুরু হওয়া ফাইলগুলি সহ সমস্ত ফাইলে সম্প্রসারণ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন :

shopt -s dotglob

আরও দেখুন shopt র manpage


7
প্রকৃতপক্ষে '.' সমস্যাটি সমাধান করে, যেমন rsync -avz user@domain.com:/remote/path/. /destination/pathকাজটি করে
মারিউজ নওক

57

যেমন, সিঙ্ক - যে কেউ যারা (সব লুকানো ফাইল সহ) সার্ভারের মধ্যে সিঙ্ক ডিরেক্টরি চাচ্ছে জন্য somedirAউপর source-serverথেকে somedirBএকটি গন্তব্য সার্ভারে - এই চেষ্টা :

rsync -avz -e ssh --progress user@source-server:/somedirA/ somedirB/

উভয় পাথের শেষে স্ল্যাশগুলি নোট করুন। অন্য কোনও সিনট্যাক্সের ফলে অপ্রত্যাশিত ফলাফল হতে পারে!


এছাড়াও, rsyncগন্তব্য সার্ভার থেকে কমান্ড সম্পাদন করা আমার পক্ষে সবচেয়ে সহজ , কারণ আমি সঠিক লেখার অ্যাক্সেস পেয়েছি তা নিশ্চিত করা সহজ (যেমন, আমার sudoউপরের কমান্ডটি যুক্ত করতে পারে )।

সম্ভবত কিছু না বলেই চলে যায়, তবে স্পষ্টতই আপনার দূরবর্তী ব্যবহারকারীর somedirAআপনার সোর্স সার্ভারে পড়ার অ্যাক্সেসের প্রয়োজন । :)


এটি কি পতাকা পতাকাটি .htaccessফাইল সিঙ্ক করবে ?
জেসি বুর্কসিক

4
@ জেসবুরসিক নং, -e sshসংযোগের জন্য পদ্ধতিটি নির্দিষ্ট করে।
ট্রিপলি

4
আপনার কেবল
উত্সটিতে

28

আমারও একই প্রশ্ন ছিল.

আমার জন্য যখন আমি নীচের কমান্ডটি করেছি তখন লুকানো ফাইলগুলি আরএসসিএন হয় না

rsync -av /home/user1 server02:/home/user1

তবে আমি যখন পথগুলির শেষে স্ল্যাশগুলি যুক্ত করেছি, তখন লুকানো ফাইলগুলি আরএসসিএন করা হয়েছিল।

rsync -av /home/user1/ server02:/home/user1/

পাথের শেষে স্ল্যাশগুলি লক্ষ্য করুন , যেমন ব্রায়ান লেসি বলেছিলেন যে স্ল্যাশগুলিই মূল। তাঁর পোস্টে মন্তব্য করার মতো খ্যাতি আমার নেই বা আমি এটি করতাম।



3

আমি মনে করি সমস্যাটি শেল ওয়াইল্ডকার্ড প্রসারণের কারণে। ব্যবহার। তারার পরিবর্তে

নিম্নলিখিত উদাহরণ ডিরেক্টরি সামগ্রী বিবেচনা করুন

$ ls -a .
. .. .htaccess a.html z.js

শেলটির ওয়াইল্ডকার্ড সম্প্রসারণ আরএসসিএনসি প্রোগ্রাম থেকে যুক্তি তালিকার অনুবাদ করে

-av * server2::sharename/B

মধ্যে

-av a.html z.js server2::sharename/B

কমান্ড কার্যকর হওয়ার আগে।


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