Breaking News
القائمة
Advertisement

كيفية استخدام أداة inotifywait لمراقبة ملفات Linux في الوقت الفعلي

كيفية استخدام أداة inotifywait لمراقبة ملفات Linux في الوقت الفعلي
صورة ذكاء اصطناعي
Advertisement

محتويات المقال

تُعد أداة inotifywait أداة قوية في نظام Linux تكشف بدقة عن العمليات الخلفية التي تُجري تعديلات صامتة على نظامك. إذا تساءلت يوماً عن سبب إعادة ضبط ملف التكوين باستمرار أو عما يفعله تطبيق غير مألوف خلف الكواليس، فإن هذه الأداة توفر رؤية فورية. من خلال الاتصال المباشر بنواة النظام، تتيح لك الأداة مراقبة نشاط الملفات في الوقت الفعلي دون الحاجة إلى تشغيل ماسحات ضوئية ثقيلة في الخلفية.

تعمل معظم توزيعات نظام Linux بسلاسة، حيث تقوم بإنشاء الملفات وتحديث التكوينات وبناء ذاكرة التخزين المؤقت بعيداً عن الأنظار. ومع ذلك، عندما تتعطل الأمور أو تتصرف بشكل غير متوقع، يصبح الحصول على رؤية شفافة لعمليات الملفات هذه أمراً بالغ الأهمية. يلتقط النظام الفرعي inotify، الذي تم تقديمه في إصدار النواة 2.6.13، أحداث نظام الملفات هذه ويبلغ عنها فور حدوثها مع الحد الأدنى من التأثير على الأداء.

فهم بيئة عمل النظام الفرعي inotify

نظراً لأن نظام inotify هو ميزة على مستوى النواة (Kernel-level subsystem)، فلا يمكنك التفاعل معه مباشرة من سطر الأوامر القياسي. لسد هذه الفجوة، تحتاج إلى تثبيت حزمة inotify-tools. توفر هذه الحزمة أدوات مساحة المستخدم (User-space) التي تترجم إشارات النواة إلى مخرجات قابلة للقراءة عبر موجه الأوامر (Terminal).

تعتمد بيئة العمل على ثلاثة مكونات أساسية تعمل معاً. يُولد النظام الفرعي inotify الأساسي أحداث نظام الملفات الخام. وتقوم أداة inotifywait ببث تلك الأحداث الحية مباشرة إلى موجه الأوامر الخاص بك، مما يجعلها الأداة الأساسية للمراقبة في الوقت الفعلي. وأخيراً، تقوم أداة inotifywatch بحساب عدد المرات التي يحدث فيها كل نوع حدث معين خلال فترة محددة، وهو أمر مفيد لتحليل الأداء.

كيفية تثبيت وتكوين حزمة inotify-tools

للبدء في تتبع الملفات في الوقت الفعلي، يجب عليك أولاً تثبيت حزمة الأدوات. تختلف عملية التثبيت قليلاً بناءً على توزيعة نظام Linux الخاصة بك. استخدم الأمر المناسب لنظامك:

  • لأنظمة Ubuntu و Debian:
sudo apt install inotify-tools
  • لأنظمة Fedora:
sudo dnf install inotify-tools
  • لأنظمة Arch Linux:
sudo pacman -S inotify-tools
  • لأنظمة openSUSE:
sudo zypper install inotify-tools

بمجرد اكتمال التثبيت، يمكنك التحقق من أن الأداة جاهزة والبدء في مراقبة دليل معين. على سبيل المثال، لمراقبة مجلد Documents الخاص بك باستمرار، استخدم الأوامر التالية:

inotifywait --version
inotifywait -m ~/Documents

يُعد استخدام علامة -m أمراً بالغ الأهمية لأنه يجبر الأمر على الاستمرار في العمل باستمرار بدلاً من الخروج بعد اكتشاف حدث واحد. عند حدوث حدث ما، تتبع المخرجات تنسيقاً صارماً: الدليل المراقب، ونوع الحدث، والملف المحدد الذي أدى إلى الإجراء. يمكنك تحسين هذه المخرجات باستخدام علامات إضافية:

  • -r: يراقب جميع الدلائل الفرعية بشكل متكرر.
  • -e: يقوم بتصفية أنواع أحداث معينة (مثل -e create,modify,delete).
  • --format: يتحكم في بنية المخرجات لتحسين قابلية القراءة أو تنسيق السجلات.
  • --timefmt: يضيف طوابع زمنية دقيقة لكل حدث مسجل.

مراقبة سلوك التطبيقات في العالم الحقيقي

عندما توجه أداة المراقبة نحو التطبيقات القياسية، غالباً ما يكون الحجم الهائل للنشاط الخلفي مفاجئاً. على سبيل المثال، لا يؤدي حفظ ملف في محرر نصوص قياسي إلى تشغيل حدث تعديل واحد فقط. بدلاً من ذلك، يقوم المحرر بإنشاء ملف مؤقت، ويكتب البيانات، ثم يستخدم أحداث moved_from و moved_to لتبديله. يضمن هذا النهج المتعدد الطبقات بقاء الملف الأصلي سليماً في حالة حدوث عطل في منتصف عملية الكتابة.

تُظهر متصفحات الويب سلوكاً خلفياً أكثر كثافة. تكشف مراقبة دليل ~/.mozilla/firefox/ عن تدفق فوري لعمليات الكتابة عند التشغيل. يقوم متصفح Firefox بتحديث ملف places.sqlite باستمرار للإشارات المرجعية وملف sessionstore.jsonlz4 لعلامات التبويب المفتوحة. ومن المثير للاهتمام أن عمليات الكتابة هذه تستمر باستمرار حتى عندما يكون المتصفح خاملاً تماماً، وهي آلية مصممة لضمان إمكانية استرداد علامات التبويب بعد حدوث عطل غير متوقع.

تُولد عمليات تثبيت الحزم أكبر قدر من الضجيج في النظام. يكشف تشغيل أمر apt install أثناء مراقبة دليل /var/lib/dpkg/ على الفور عن إنشاء ملف lock-frontend. تضمن هذه الآلية الحاسمة عدم تشغيل عمليات حزم متعددة في وقت واحد، والتي يتبعها بعد ذلك تسلسلات كتابة ضخمة عبر قاعدة بيانات الحزم.

الانتقال من التخمين إلى استكشاف الأخطاء بدقة

تُحول القدرة على مراقبة عمليات الملفات في الوقت الفعلي إدارة نظام Linux من لعبة تخمين إلى علم دقيق. عند تقييم برامج غير مألوفة، لم تعد بحاجة إلى التساؤل عن مكان تخزين التطبيق لبياناته أو ما إذا كان يكتب خارج أدلته المتوقعة. من خلال توجيه أداة المراقبة ببساطة إلى الدليل الجذري أو الدليل الرئيسي، تكشف التطبيقات المارقة عن سلوكها الدقيق على الفور.

يُعد هذا المستوى من الرؤية لا يقدر بثمن بشكل خاص لاستكشاف أخطاء التكوين المستمرة وإصلاحها. إذا استمر إعداد نظام معين في التراجع بعد إعادة التشغيل، فإن مراقبة دليل التكوين ستحدد على الفور خدمة النظام (System Service) الخلفية التي تقوم بالكتابة فوق تغييراتك. إنها تسد الفجوة بين تجربة عرض في النظام والعثور على السبب الجذري الفعلي.

ومع ذلك، يجب أن يكون المستخدمون مستعدين لقيود الأداة. يمكن أن تكون المخرجات صاخبة بشكل كبير على الأنظمة النشطة، مما يتطلب استخداماً دقيقاً لمرشحات الأحداث لعزل البيانات ذات الصلة. علاوة على ذلك، في حين تتفوق الأداة في إظهار ما تغير بالضبط ومتى، إلا أنها لا تستطيع تفسير سبب بدء النواة للتغيير. على الرغم من هذه القيود البسيطة، تظل أداة تشخيصية أساسية لأي مستخدم محترف لنظام Linux.

المصادر: makeuseof.com ↗
هل أعجبك هذا المقال؟
Advertisement

عمليات البحث الشائعة