আমি কীভাবে এসএসএইচএফএসের মাধ্যমে ইনোটিফাই বা নামযুক্ত পাইপ ব্যবহার করব?


12

ধন্যবাদ sshfsযাদু, আমি আমার হোম দির সাথে একটি রিমোট সার্ভার থেকে মাউন্ট করতে পারি

sshfs user@server:/home/user ~/remote

আশাবাদী, আমি একটি স্থানীয় সেট চাই inotify-hook উপর ~/remote/logFile(ইন sshfsতাই একটি স্থানীয় প্রোগ্রাম দূরবর্তী লগ পরিবর্তনের প্রতিক্রিয়া পারেন মাউন্ট)।

cd ~/remote
touch logFile                                # create remote file
inotifywait logFile &                        # set up local inotify-hook
ssh user@server -x touch /home/user/logFile  # touch file from remote

কিছুই হয় নাinotifywaitআমি touchস্থানীয়ভাবে ফাইল না দিলে নিরব থাকে । নামী পাইপে লেখা একইভাবে ব্যর্থ।

কেন?
আমি কীভাবে এই ব্যবধানটি পূরণ করতে পারি?

আমি পারে চালানো inotifywait, দূরবর্তী একটি ফাইল সিস্টেম পরিবর্তন ধারাবাহিকতাতে কৌশল আপ হ্যাক এবং স্থানীয় একটি সংযোগ বজায় রাখা, কিন্তু তারপর আমি মূলত SSHFS reimplementing । এবং এটি বিমূর্ততা সম্পূর্ণরূপে হত্যা করে।


2
আমি মনে করি না যে inotifyস্থানীয় সিস্টেমে কোনও রিমোট ফাইল সিস্টেমের পরিবর্তনগুলি সনাক্ত করতে পারে way এই পরিবর্তনগুলির সাথে স্থানীয় কার্নেলটি লুপের বাইরে চলে গেছে। inotifywaitআপনার সার্ভারে চালানো দরকার , ক্লায়েন্ট নয়।
বার্মার

@ বারমার তবে ক্লায়েন্ট (স্থানীয় মেশিন) পরিবর্তন সম্পর্কে জানতে পারবে না। আমি এ সম্পর্কে কিছু যোগ করতে সম্পাদনা করেছি।
আনকো

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

তুমি কি গ্যামিন পরীক্ষা করেছ?
জানুস ট্রয়লসেন

পছন্দ করেছেন এর ওভারভিউ পৃষ্ঠা অনুসারে , এটি ইনওটিফাইও ব্যবহার করে। কোনও নেটওয়ার্কের মাধ্যমে এই জাতীয় আপডেট বিতরণ করার জন্য এটি কার্যকর?
আনকো

উত্তর:


10

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

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

নামযুক্ত পাইপগুলি একই কারণে এসএসএইচএসএসের শীর্ষে প্রয়োগ করা যায় না। ক্লাসিকাল নেটওয়ার্কযুক্ত ফাইল সিস্টেম এনএফএসের পাইপ নামক ক্রস মেশিন সমর্থন করার কোনও সুবিধা নেই। একটি নেটওয়ার্কযুক্ত ফাইল সিস্টেমে, একটি নামযুক্ত পাইপ যেখানে বসানো হয় তার প্রতিটি মেশিনে একটি স্বাধীন পয়েন্ট তৈরি করে (সার্ভারের পাশাপাশি)।

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

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


1
কমপক্ষে কিউমু এক ধরণের ক্রস-মেশিন পাইপ সমর্থন করে: ভার্চুয়াল অতিথির কাছে পাইপ
জানুস ট্রয়লসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.