inotifywait - ক্লাউডে অনলাইন

এটি হল inotifywait কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


inotifywait - inotify ব্যবহার করে ফাইলে পরিবর্তনের জন্য অপেক্ষা করুন

সাইনোপিসিস


inotify অপেক্ষা [-hcmrq] [-e ] [-t ] [--ফরম্যাট ] [--timefmt ]
[...]

বর্ণনাঃ


inotify অপেক্ষা লিনাক্স ব্যবহার করে ফাইলে পরিবর্তনের জন্য দক্ষতার সাথে অপেক্ষা করে অবহিত করা(7) ইন্টারফেস. এটা
শেল স্ক্রিপ্ট থেকে ফাইলে পরিবর্তনের জন্য অপেক্ষা করার জন্য উপযুক্ত। এটি একবার প্রস্থান করতে পারে
একটি ঘটনা ঘটে, বা ক্রমাগতভাবে চালানো এবং আউটপুট ঘটনা ঘটতে.

আউটপুট


inotify অপেক্ষা স্ট্যান্ডার্ড ত্রুটি এবং ইভেন্ট তথ্যের উপর ডায়গনিস্টিক তথ্য আউটপুট করবে
স্ট্যান্ডার্ড আউটপুট। ইভেন্ট আউটপুট কনফিগার করা যেতে পারে, কিন্তু ডিফল্টরূপে এটি লাইন নিয়ে গঠিত
নিম্নলিখিত ফর্মের:

watched_filename EVENT_NAMES event_filename

watched_filename
ফাইলের নাম যেখানে ঘটনাটি ঘটেছে। ফাইল একটি ডিরেক্টরি হলে, a
ট্রেইলিং স্ল্যাশ হল আউটপুট।

EVENT_NAMES
কমা দ্বারা পৃথক করা সংঘটিত ইনোটিফাই ইভেন্টগুলির নাম।

event_filename
আউটপুট শুধুমাত্র যখন ইভেন্ট একটি ডিরেক্টরিতে ঘটেছে, এবং এই ক্ষেত্রে এর নাম
ডিরেক্টরির মধ্যে ফাইল যা এই ঘটনা ঘটিয়েছে আউটপুট।

ডিফল্টরূপে, ফাইলের নামের কোনো বিশেষ অক্ষর কোনোভাবেই এড়িয়ে যায় না। এই
inotifywait-এর আউটপুটকে awk স্ক্রিপ্ট বা অনুরূপ পার্স করা কঠিন করে তুলতে পারে।
সার্জারির --csv এবং --ফরম্যাট বিকল্প এই ক্ষেত্রে সহায়ক হবে.

বিকল্প


-হ, --help
কিছু সহায়ক ব্যবহার তথ্য আউটপুট.

@
একটি ডিরেক্টরি ট্রি পুনরাবৃত্তভাবে দেখার সময়, নির্দিষ্ট ফাইলটি থেকে বাদ দিন
দেখা ফাইল একটি আপেক্ষিক বা পরম পাথ অনুযায়ী নির্দিষ্ট করা আবশ্যক
দেখা ডিরেক্টরির জন্য একটি আপেক্ষিক বা পরম পথ দেওয়া হয় কিনা। যদি একটি
নির্দিষ্ট পথ সুস্পষ্টভাবে অন্তর্ভুক্ত এবং বাদ উভয়ই, এটি সর্বদা দেখা হবে।

বিঃদ্রঃ: আপনি যদি একটি ডিরেক্টরি বা ফাইল দেখতে চান যার নাম @ দিয়ে শুরু হয়, তাহলে দিন
পরম পথ।

--ফাইল থেকে
একটি ফাইল থেকে দেখতে বা বাদ দিতে ফাইলের নাম পড়ুন, প্রতি লাইনে একটি ফাইলের নাম৷ যদি
ফাইলের নামগুলি @ দিয়ে শুরু হয় সেগুলি উপরে বর্ণিত হিসাবে বাদ দেওয়া হয়েছে। যদি হল `-',
ফাইলের নাম স্ট্যান্ডার্ড ইনপুট থেকে পড়া হয়। আপনি দেখতে প্রয়োজন হলে এই বিকল্পটি ব্যবহার করুন
কমান্ড লাইন আর্গুমেন্ট হিসাবে পাস করার জন্য অনেক ফাইল।

-মি, --মনিটর
একটি একক ইভেন্ট পাওয়ার পরে প্রস্থান করার পরিবর্তে, অনির্দিষ্টকালের জন্য কার্যকর করুন। দ্য
ডিফল্ট আচরণ হল প্রথম ঘটনা ঘটার পর প্রস্থান করা।

-d, --ডেমন
--monitor-এর মতই, ব্যাকগ্রাউন্ড লগিং ইভেন্টে এমন একটি ফাইলে চালান যা আবশ্যক
--outfile দ্বারা নির্দিষ্ট করা হবে। বোঝায় --syslog.

-ও, --আউটফাইল
আউটপুট ঘটনা বরং stdout চেয়ে

-স, --syslog
আউটপুট ত্রুটি syslog- র(3) stderr এর পরিবর্তে সিস্টেম লগ মডিউল।

-আর, --পুনরাবৃত্তি
আর্গুমেন্ট হিসাবে পাস করা যেকোনো ডিরেক্টরির সমস্ত সাবডিরেক্টরি দেখুন। ঘড়ি থাকবে
একটি সীমাহীন গভীরতা recursively সেট আপ. প্রতীকী লিঙ্কগুলি অতিক্রম করা হয় না। নতুনভাবে
তৈরি সাবডিরেক্টরিগুলিও দেখা হবে।

সতর্কতা: যদি আপনি একটি বড় গাছের মূল ডিরেক্টরি দেখার সময় এই বিকল্পটি ব্যবহার করেন,
সমস্ত ইনোটিফাই ঘড়ি এবং ইভেন্টগুলি প্রতিষ্ঠিত না হওয়া পর্যন্ত এটি বেশ সময় নিতে পারে
এই সময়ের মধ্যে পাওয়া যাবে না। এছাড়াও, যেহেতু একটি ইনোটিফাই ঘড়ি থাকবে
সাবডিরেক্টরি প্রতি প্রতিষ্ঠিত, এটা সম্ভব যে সর্বাধিক পরিমাণ inotify
ব্যবহারকারী প্রতি ঘড়ি পৌঁছে যাবে. ডিফল্ট সর্বোচ্চ 8192; এটা বাড়ানো যেতে পারে
লেখার মাধ্যমে /proc/sys/fs/inotify/max_user_watches.

-q, -- শান্ত
যদি একবার নির্দিষ্ট করা হয়, তাহলে প্রোগ্রামটি কম ভার্বোস হবে। বিশেষ করে, এটা হবে না
যখন এটি সমস্ত ইনোটিফাই ঘড়ি স্থাপনের কাজ সম্পন্ন করেছে তখন বলুন।

যদি দুইবার নির্দিষ্ট করা হয়, তাহলে প্রোগ্রামটি কিছুই আউটপুট করবে না, এর ক্ষেত্রে ছাড়া
মারাত্মক ত্রুটি

--বাদ
কোনো ইভেন্ট প্রক্রিয়া করবেন না যার ফাইলের নাম নির্দিষ্ট POSIX এক্সটেন্ডেডের সাথে মেলে
নিয়মিত অভিব্যক্তি, কেস সংবেদনশীল।

-- বাদ
কোনো ইভেন্ট প্রক্রিয়া করবেন না যার ফাইলের নাম নির্দিষ্ট POSIX এক্সটেন্ডেডের সাথে মেলে
নিয়মিত অভিব্যক্তি, কেস সংবেদনশীল।

-t , --সময় শেষ
যদি কোন উপযুক্ত ঘটনা ভিতরে না ঘটে থাকে তাহলে প্রস্থান করুন সেকেন্ড যদি
শূন্য (ডিফল্ট), একটি ইভেন্টের জন্য অনির্দিষ্টকালের জন্য অপেক্ষা করুন।

-e , --ইভেন্ট
শুধুমাত্র নির্দিষ্ট ইভেন্টের জন্য শুনুন। যে ঘটনাগুলো শোনা যাবে সেগুলো তালিকাভুক্ত করা হয়েছে
মধ্যে ঘটনাগুলি দেখুন অধ্যায়. এই বিকল্পটি একাধিকবার উল্লেখ করা যেতে পারে। বাদ দিলে,
সব ঘটনা শোনা হয়.

-গ, --csv
CSV (কমা দ্বারা পৃথক মান) বিন্যাসে আউটপুট। ফাইলের নাম হতে পারে যখন এটি দরকারী
স্পেস ধারণ করে, যেহেতু এই ক্ষেত্রে আউটপুটকে বিভক্ত করা নিরাপদ নয়
প্রতিটি স্থান অক্ষর।

--timefmt
দ্বারা গৃহীত একটি সময় বিন্যাস স্ট্রিং সেট করুন strftime(3) `% T' এর সাথে ব্যবহারের জন্য
--ফর্ম্যাট বিকল্পে রূপান্তর।

--ফরম্যাট
প্রিন্টএফ-এর মতো সিনট্যাক্স ব্যবহার করে ব্যবহারকারী-নির্দিষ্ট বিন্যাসে আউটপুট। ঘটনা স্ট্রিং
আউটপুট প্রায় 4000 অক্ষরের মধ্যে সীমাবদ্ধ এবং এই দৈর্ঘ্যে কাটা হবে।
নিম্নলিখিত রূপান্তরগুলি সমর্থিত:

%w এটি প্রেক্ষিত ফাইলের নামের সাথে প্রতিস্থাপিত হবে যেখানে একটি ঘটনা ঘটেছে।

%f যখন একটি ডিরেক্টরির মধ্যে একটি ঘটনা ঘটবে, এটির নামের সাথে প্রতিস্থাপিত হবে
ফাইল যা ঘটনা ঘটতে কারণ. অন্যথায়, এটি একটি দিয়ে প্রতিস্থাপিত হবে
খালি স্ট্রিং.

%e ইভেন্ট (গুলি) দ্বারা প্রতিস্থাপিত হয়েছে যা ঘটেছে, কমা দ্বারা পৃথক করা হয়েছে৷

%Xe ঘটনা(গুলি) দ্বারা প্রতিস্থাপিত হয়েছে যা ঘটেছে, যেটি অক্ষর দ্বারা বিভক্ত
'X' এর স্থান।

--timefmt বিকল্প দ্বারা নির্দিষ্ট বিন্যাসে %T বর্তমান সময়ের সাথে প্রতিস্থাপিত হয়েছে,
যা পাস করার জন্য উপযুক্ত একটি বিন্যাস স্ট্রিং হওয়া উচিত strftime(3).

প্রস্থান করুন স্থিতি


0 প্রোগ্রামটি সফলভাবে সম্পাদিত হয়েছে, এবং একটি ঘটনা ঘটেছে যা শোনা যাচ্ছিল
জন্য।

1 প্রোগ্রামটি কার্যকর করার সময় একটি ত্রুটি ঘটেছে, বা এমন একটি ঘটনা ঘটেছে যা ছিল না৷
জন্য শোনা হচ্ছে পরেরটি সাধারণত ঘটে যদি এমন কিছু ঘটে যা ঘটে
জোরপূর্বক inotify ঘড়ি মুছে দেয়, যেমন একটি দেখা ফাইল মুছে ফেলা বা
একটি প্রেক্ষিত ফাইল ধারণকারী ফাইল সিস্টেম আনমাউন্ট করা হচ্ছে।

2 সার্জারির -t বিকল্পটি ব্যবহার করা হয়েছিল এবং এর নির্দিষ্ট ব্যবধানে একটি ঘটনা ঘটেনি
সময়।

ঘটনাগুলি দেখুন


নিম্নলিখিত ইভেন্টগুলি এর সাথে ব্যবহারের জন্য বৈধ -e বিকল্প:

প্রবেশ একটি দেখা ফাইল বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল থেকে পড়া হয়েছে.

পরিবর্তন একটি দেখা ফাইল বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল লেখা হয়েছে.

attrib একটি দেখা ফাইলের মেটাডেটা বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল পরিবর্তন করা হয়েছে৷
এর মধ্যে রয়েছে টাইমস্ট্যাম্প, ফাইলের অনুমতি, বর্ধিত বৈশিষ্ট্য ইত্যাদি।

বন্ধ_লেখা
একটি প্রেক্ষিত ফাইল বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল খোলার পরে বন্ধ হয়ে গেছে
লিখনযোগ্য মোডে। এটি অগত্যা বোঝায় না যে ফাইলটি লেখা হয়েছে৷

close_nowrite
একটি প্রেক্ষিত ফাইল বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল খোলার পরে বন্ধ হয়ে গেছে
শুধুমাত্র-পঠন মোডে।

ঘনিষ্ঠ একটি প্রেক্ষিত ফাইল বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল বন্ধ করা হয়েছে, নির্বিশেষে কিভাবে
এটা খোলা ছিল. মনে রাখবেন যে এটি আসলে উভয়ের জন্য শোনার মাধ্যমে বাস্তবায়িত হয়
বন্ধ_লেখা এবং বন্ধ_এখন লিখুন, তাই প্রাপ্ত সমস্ত বন্ধ ঘটনা হিসাবে আউটপুট হবে
এই একটি, না বন্ধ

খোলা একটি দেখা ফাইল বা একটি প্রেক্ষিত ডিরেক্টরির মধ্যে একটি ফাইল খোলা হয়েছে৷

সরানো
একটি ফাইল বা ডিরেক্টরি একটি প্রেক্ষিত ডিরেক্টরিতে সরানো হয়েছে৷ এই ঘটনা ঘটে এমনকি যদি
ফাইলটি কেবল একই ডিরেক্টরি থেকে এবং সেখানে সরানো হয়।

থেকে সরানো
একটি দেখা ডিরেক্টরি থেকে একটি ফাইল বা ডিরেক্টরি সরানো হয়েছে৷ এই ঘটনা ঘটে এমনকি যদি
ফাইলটি কেবল একই ডিরেক্টরি থেকে এবং সেখানে সরানো হয়।

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

সরানো_স্বয়ং
একটি দেখা ফাইল বা ডিরেক্টরি সরানো হয়েছে৷ এই ঘটনার পরে, ফাইল বা ডিরেক্টরি হয়
আর দেখা হচ্ছে না।

সৃষ্টি একটি দেখা ডিরেক্টরির মধ্যে একটি ফাইল বা ডিরেক্টরি তৈরি করা হয়েছিল৷

মুছে ফেলা একটি দেখা ডিরেক্টরির মধ্যে একটি ফাইল বা ডিরেক্টরি মুছে ফেলা হয়েছে৷

মুছে দিন
একটি দেখা ফাইল বা ডিরেক্টরি মুছে ফেলা হয়েছে. এই ঘটনার পরে ফাইল বা ডিরেক্টরি হয়
আর দেখা হচ্ছে না। উল্লেখ্য, এই ঘটনা না ঘটলেও ঘটতে পারে
স্পষ্টভাবে শোনার জন্য।

আন-মাউন্ট করা
একটি প্রেক্ষিত ফাইল বা ডিরেক্টরি যে ফাইল সিস্টেমে থাকে সেটি আনমাউন্ট করা হয়েছে। পরে
এই ইভেন্ট ফাইল বা ডিরেক্টরি আর দেখা হচ্ছে না. উল্লেখ্য যে এই ঘটনা
এটি স্পষ্টভাবে শোনা না হলেও ঘটতে পারে।

উদাহরণ


উদাহরণ 1
কমান্ড-লাইনে inotifywait চালানো হচ্ছে `test' ডিরেক্টরির কোনো ফাইলের জন্য অপেক্ষা করার জন্য
অ্যাক্সেস করা হয়েছে inotifywait চালানোর পরে, 'cat test/foo' একটি পৃথক কনসোলে চালানো হয়।

% inotifywait পরীক্ষা
ঘড়ি সেট আপ করা হচ্ছে।
ঘড়ি প্রতিষ্ঠিত.
পরীক্ষা/ অ্যাক্সেস foo

উদাহরণ 2
httpd-সম্পর্কিত লগ বার্তাগুলির জন্য দক্ষতার সাথে অপেক্ষা করতে এবং কিছু করার জন্য একটি ছোট শেল স্ক্রিপ্ট
যথাযথ.

#!/ বিন / SH
যখন inotifywait -e modify /var/log/messages; করতে
if tail -n1 /var/log/messages | grep httpd; তারপর
kdialog --msgbox "অ্যাপাচির ভালবাসা দরকার!"
fi
সম্পন্ন

উদাহরণ 3
দেখার জন্য একটি কাস্টম আউটপুট ফরম্যাট ব্যবহার করা হয়~/পরীক্ষা' ওদিকে কেউ একজন দৌড়ে স্পর্শ করে
~/test/badfile; স্পর্শ ~/টেস্ট/গুডফাইল; rm ~/test/badfile' অন্য কনসোলে।

% inotifywait -m -r --format '%:e %f' ~/পরীক্ষা
ঘড়ি সেট আপ করা হচ্ছে। সাবধান: যেহেতু -r দেওয়া হয়েছে, এতে একটু সময় লাগতে পারে!
ঘড়ি প্রতিষ্ঠিত.
খারাপ ফাইল তৈরি করুন
ব্যাডফাইল খুলুন
ATTRIB ব্যাডফাইল
CLOSE_WRITE: CLOSE ব্যাডফাইল
ভালো ফাইল তৈরি করুন
গুডফাইল খুলুন
ATTRIB গুডফাইল
CLOSE_WRITE: CLOSE গুডফাইল
খারাপ ফাইল মুছুন

সতর্কতা


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

onworks.net পরিষেবা ব্যবহার করে inotifywait অনলাইন ব্যবহার করুন



সর্বশেষ লিনাক্স এবং উইন্ডোজ অনলাইন প্রোগ্রাম