প্রহরী একটি ওপেন সোর্স এবং ক্রস-প্ল্যাটফর্ম ফাইল দেখার পরিষেবা যা ফাইলগুলি দেখে এবং রেকর্ড করে বা ক্রিয়া সম্পাদন করে যখন সেগুলি পরিবর্তন হয়৷ এটি Facebook দ্বারা বিকাশিত এবং Linux, OS X, FreeBSD, এবং Solaris-এ চলে। এটি একটি ক্লায়েন্ট-সার্ভার মডেলে চলে এবং আরও শক্তিশালী বিজ্ঞপ্তি প্রদান করতে Linux কার্নেলের inotify ইউটিলিটি নিয়োগ করে৷
ওয়াচম্যানের দরকারী ধারণা
- এটি বারবার ঘড়ির এক বা একাধিক ডিরেক্টরি গাছ দেখে।
- প্রতিটি দেখা ডিরেক্টরিকে রুট বলা হয়৷
- এটি কমান্ড-লাইন বা JSON ফর্ম্যাটে লেখা একটি কনফিগারেশন ফাইলের মাধ্যমে কনফিগার করা যেতে পারে।
- এটি লগ ফাইলে পরিবর্তন রেকর্ড করে।
- একটি রুটে ঘটে যাওয়া ফাইল পরিবর্তনের সদস্যতা সমর্থন করে।
- আপনি শেষবার চেক করার পর থেকে ফাইলের পরিবর্তন বা গাছের বর্তমান অবস্থার জন্য একটি রুট জিজ্ঞাসা করার অনুমতি দেয়৷
- এটি একটি সম্পূর্ণ প্রকল্প দেখতে পারে৷ ৷
এই নিবন্ধে, আমরা ব্যাখ্যা করব কিভাবে প্রহরী ইনস্টল ও ব্যবহার করতে হয় ফাইলগুলি দেখতে (মনিটর) এবং লিনাক্সে পরিবর্তন করার সময় রেকর্ড করতে। আমরা সংক্ষিপ্তভাবে প্রদর্শন করব কিভাবে একটি ডিরেক্টরি দেখতে হয় এবং যখন এটি পরিবর্তন হয় তখন একটি স্ক্রিপ্ট শুরু করতে হয়৷
লিনাক্সে ওয়াচম্যান ফাইল দেখার পরিষেবা ইনস্টল করা
আমরা প্রহরী ইনস্টল করব উৎস থেকে পরিষেবা, তাই প্রথমে এই প্রয়োজনীয় নির্ভরতা libssl-dev ইনস্টল করুন , অটোকনফ , অটোমেক libtool , সেটআপ টুলস , পাইথন-ডেভেল এবং লিবফলি আপনার লিনাক্স ডিস্ট্রিবিউশনে নিম্নলিখিত কমান্ড ব্যবহার করে।
----------- On Debian/Ubuntu ----------- $ sudo apt install autoconf automake build-essential python-setuptools python-dev libssl-dev libtool ----------- On RHEL/CentOS ----------- # yum install autoconf automake python-setuptools python-devel openssl-devel libssl-devel libtool # yum groupinstall 'Development Tools' ----------- On Fedora ----------- $ sudo dnf install autoconf automake python-setuptools openssl-devel libssl-devel libtool $ sudo dnf groupinstall 'Development Tools'
একবার প্রয়োজনীয় নির্ভরতা ইনস্টল হয়ে গেলে, আপনি গিথুব রিপোজিটরি ডাউনলোড করে প্রহরী তৈরি করা শুরু করতে পারেন, স্থানীয় সংগ্রহস্থলে যেতে পারেন, নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এটি কনফিগার, নির্মাণ এবং ইনস্টল করতে পারেন৷
$ git clone https://github.com/facebook/watchman.git $ cd watchman $ git checkout v4.9.0 $ ./autogen.sh $ ./configure $ make $ sudo make install
লিনাক্সে ওয়াচম্যানের সাথে ফাইল এবং ডিরেক্টরি দেখা
প্রহরী দুটি উপায়ে কনফিগার করা যেতে পারে:(1) কমান্ড-লাইনের মাধ্যমে যখন ডেমন ব্যাকগ্রাউন্ডে চলছে বা (2) JSON ফর্ম্যাটে লেখা একটি কনফিগারেশন ফাইলের মাধ্যমে৷
একটি ডিরেক্টরি দেখতে (যেমন ~/bin ) পরিবর্তনের জন্য, নিম্নলিখিত কমান্ডটি চালান।
$ watchman watch ~/bin/
লিনাক্সে একটি ডিরেক্টরি দেখুন
নিচের কমান্ডটি state নামে একটি কনফিগারেশন ফাইল লিখে /usr/local/var/run/watchman/log নামে একটি লগ ফাইল একই অবস্থানে।
আপনি শো হিসাবে cat কমান্ড ব্যবহার করে দুটি ফাইল দেখতে পারেন।
$ cat /usr/local/var/run/watchman/aaronkilik-state/state $ cat /usr/local/var/run/watchman/aaronkilik-state/log
আপনি পরিবর্তনের জন্য একটি ডিরেক্টরি দেখা হলে কি ক্রিয়া ট্রিগার করতে হবে তাও নির্ধারণ করতে পারেন। উদাহরণস্বরূপ নিম্নলিখিত কমান্ডে, 'test-trigger ' হল ট্রিগারের নাম এবং ~bin/pav.sh এটি এমন একটি স্ক্রিপ্ট যা নিরীক্ষণ করা ডিরেক্টরিতে পরিবর্তনগুলি সনাক্ত করা হলে আহ্বান করা হবে৷
পরীক্ষার উদ্দেশ্যে, pav.sh স্ক্রিপ্ট সহজভাবে একটি টাইমস্ট্যাম্প দিয়ে একটি ফাইল তৈরি করে (যেমন file.$time.txt ) একই ডিরেক্টরির মধ্যে যেখানে স্ক্রিপ্ট সংরক্ষণ করা হয়।
time=`date +%Y-%m-%d.%H:%M:%S` touch file.$time.txt
ফাইলটি সেভ করুন এবং স্ক্রিপ্টটিকে দেখানো হিসাবে এক্সিকিউটেবল করুন।
$ chmod +x ~/bin/pav.sh
ট্রিগার চালু করতে, নিম্নলিখিত কমান্ডটি চালান৷
৷$ watchman -- trigger ~/bin 'test-trigger' -- ~/bin/pav.sh
ডিরেক্টরিতে একটি ট্রিগার তৈরি করুন যখন আপনি প্রহরী চালান একটি ডিরেক্টরির উপর নজর রাখতে, এটি ঘড়ির তালিকায় যুক্ত করা হয়েছে এবং এটি দেখতে, নিম্নলিখিত কমান্ডটি চালান৷
৷$ watchman watch-list
দেখার তালিকা দেখুন
একটি মূলের ট্রিগার তালিকা দেখতে , নিম্নলিখিত কমান্ডটি চালান (প্রতিস্থাপন করুন ~/bin root দিয়ে নাম)।
$ watchman trigger-list ~/bin
একটি রুটের জন্য ট্রিগার তালিকা দেখান
উপরের কনফিগারেশনের উপর ভিত্তি করে, প্রতিবার ~/bin ডিরেক্টরি পরিবর্তন, একটি ফাইল যেমন file.2019-03-13.23:14:17.txt এর ভিতরে তৈরি করা হয় এবং আপনি ls কমান্ড ব্যবহার করে সেগুলি দেখতে পারেন।
$ ls
পরীক্ষা ওয়াচম্যান কনফিগারেশন লিনাক্সে ওয়াচম্যান পরিষেবা আনইনস্টল করা হচ্ছে
আপনি যদি ওয়াচম্যান আনইনস্টল করতে চান , উৎস ডিরেক্টরিতে যান এবং নিম্নলিখিত কমান্ডগুলি চালান:
$ sudo make uninstall $ cd '/usr/local/bin' && rm -f watchman $ cd '/usr/local/share/doc/watchman-4.9.0 ' && rm -f README.markdown
আরও তথ্যের জন্য, ওয়াচম্যান গিথুব রিপোজিটরি দেখুন:https://github.com/facebook/watchman.
আপনি এই নিম্নলিখিত সম্পর্কিত নিবন্ধগুলি পড়তে পছন্দ করতে পারেন৷
৷- সোয়াচডগ - লিনাক্সে রিয়েল-টাইমে সহজ লগ ফাইল প্রহরী
- রিয়েল টাইমে লগ ফাইলগুলি দেখার বা নিরীক্ষণ করার 4 উপায়
- fswatch – লিনাক্সে ফাইল এবং ডিরেক্টরি পরিবর্তনগুলি মনিটর করে
- Pyintify – লিনাক্সে রিয়েল টাইমে ফাইল সিস্টেমের পরিবর্তনগুলি মনিটর করুন
- Inav – লিনাক্সে রিয়েল টাইমে অ্যাপাচি লগগুলি দেখুন
প্রহরী এটি একটি ওপেন সোর্স ফাইল দেখার পরিষেবা যা ফাইল এবং রেকর্ডগুলি দেখে বা পরিবর্তন করার সময় অ্যাকশন ট্রিগার করে৷ প্রশ্ন জিজ্ঞাসা করতে বা আমাদের সাথে আপনার চিন্তা শেয়ার করতে নীচের প্রতিক্রিয়া ফর্ম ব্যবহার করুন৷