كيفية التحقق من حجم الدليل في لينكس: دليل شامل للأوامر والأدوات
المقدمة
في أنظمة لينكس، يعد مراقبة حجم الأدلة مهمة أساسية لكل من مديري النظام والمستخدمين العاديين. مع نمو البيانات بمرور الوقت، يمكن أن تصبح الأدلة كبيرة وغير قابلة للإدارة، مما قد يؤدي إلى نقص في مساحة القرص وتدهور أداء النظام. يساعد التحقق المنتظم من أحجام الأدلة في إدارة مساحة القرص بكفاءة، ويمنع المشكلات المتعلقة بالتخزين المنخفض، ويساعد في تحديد الملفات والأدلة الكبيرة التي قد تتطلب اهتمامًا.
أهمية مراقبة حجم الدليل
-
إدارة فعالة لمساحة القرص
يعد إدارة مساحة القرص بشكل فعال أمرًا حيويًا للحفاظ على صحة النظام. من خلال تتبع أحجام الأدلة، يمكنك التأكد من أن موارد التخزين الخاصة بك تُستخدم بشكل مثالي. تساعد هذه المقاربة الاستباقية في تجنب نقص مساحة القرص غير المتوقع، مما قد يعطل سير العمل ويؤثر على الإنتاجية.
-
منع مشكلات النظام بسبب التخزين المنخفض
يمكن أن يؤدي انخفاض مساحة القرص إلى مجموعة متنوعة من مشكلات النظام، بما في ذلك أخطاء التطبيقات، وعدم القدرة على حفظ الملفات، وحتى تعطل النظام. يسمح لك مراقبة أحجام الأدلة بتحديد وحل مشكلات التخزين قبل أن تتصاعد إلى مشكلات حرجة قد تؤثر على استقرار النظام وسلامة البيانات.
-
تحديد الملفات والأدلة الكبيرة
مع مرور الوقت، قد تنمو بعض الملفات أو الأدلة أكبر من المتوقع، مما يستهلك كميات غير متناسبة من مساحة القرص. تتيح لك الفحوصات المنتظمة تحديد هذه العناصر التي تستهلك المساحة حتى تتمكن من اتخاذ قرار بشأن حذفها أو أرشفتها أو نقلها. هذا مفيد بشكل خاص لإدارة ملفات السجل، والنسخ الاحتياطية، وملفات الوسائط التي تميل إلى النمو بسرعة.
السيناريوهات الشائعة
-
إدارة النظام والصيانة
يحتاج مدراء النظام إلى التأكد من أن الخوادم ومحطات العمل تعمل بسلاسة. تعد مراقبة أحجام الأدلة جزءًا من الصيانة الروتينية، مما يساعد المسؤولين على إدارة الموارد، وجدولة التنظيفات، والتخطيط لتوسيع التخزين عند الضرورة. كما يساعد في الامتثال للسياسات التنظيمية المتعلقة باستخدام القرص.
-
تنظيف الملفات غير الضرورية
يمكن أن تتراكم الملفات المؤقتة، والذاكرات المؤقتة، والبيانات المتبقية من التطبيقات غير المثبتة بمرور الوقت، مما يأخذ مساحة قيمة. من خلال التحقق من أحجام الأدلة، يمكن للمستخدمين تحديد وإزالة هذه الملفات غير الضرورية، وبالتالي تحسين أداء النظام وتحرير المساحة للبيانات المهمة.
-
مراقبة أدلة المستخدمين في بيئات متعددة المستخدمين
في أنظمة متعددة المستخدمين، من المهم منع أي مستخدم واحد من استهلاك مساحة قرص مفرطة، مما قد يؤثر على المستخدمين الآخرين. تساعد المراقبة المنتظمة المسؤولين على فرض حصص القرص وضمان تخصيص الموارد بشكل عادل. كما تساعد في تحديد التخزين غير المصرح به لملفات كبيرة، مثل مجموعات الوسائط الشخصية على الأنظمة المؤسسية.
الأوامر الأساسية للتحقق من حجم الدليل
في لينكس، هناك العديد من الأدوات المساعدة في سطر الأوامر التي تتيح لك التحقق من حجم الأدلة والملفات. من بين هذه الأدوات، يعد أمر du
(استخدام القرص) واحدًا من أكثر الأدوات استخدامًا بسبب بساطته ومرونته.
استخدام أمر du
يمثل أمر du
"استخدام القرص" ويستخدم لتقدير استخدام مساحة الملفات. يلخص استخدام القرص لكل ملف، بشكل متكرر للأدلة. هذا الأمر ضروري لتحديد العناصر التي تستهلك مساحة القرص وإدارة التخزين بكفاءة.
الاستخدام الأساسي
الصيغة العامة لأمر du
هي:
du [options] [file or directory]
إذا لم يتم تحديد ملف أو دليل، سيقوم du
بالافتراضي إلى الدليل الحالي.
الخيارات الشائعة
-
-h
(قابل للقراءة البشرية): يعرض الأحجام بتنسيق قابل للقراءة البشرية (مثل K للكيلوبايت، M للميغابايت، G للجيغابايت). -
-s
(تلخيص): يظهر فقط الحجم الإجمالي للدليل أو الملف المحدد. -
-a
(الكل): يتضمن كل من الملفات والأدلة في الإخراج. -
--max-depth
(العمق الأقصى): يحد من الإخراج إلى عمق دليل محدد.
أمثلة
عرض الحجم الإجمالي لدليل بتنسيق قابل للقراءة البشرية
للعثور على الحجم الإجمالي لدليل، استخدم الخيارات -s
و -h
معًا:
du -sh /path/to/directory
التفسير:
-s
: يوفر ملخصًا (الحجم الإجمالي) بدلاً من سرد جميع الأدلة الفرعية.-h
: يقوم بتنسيق الإخراج بشكل قابل للقراءة البشرية.
نموذج الإخراج:
1.5G /path/to/directory
قائمة بأحجام جميع الأدلة الفرعية والملفات
إذا كنت ترغب في رؤية حجم كل ملف ودليل فرعي داخل دليل، استخدم الخيارات -a
و -h
:
du -ah /path/to/directory
التفسير:
-a
: يتضمن جميع الملفات في الإخراج.-h
: يقوم بتنسيق الأحجام بشكل قابل للقراءة البشرية.
نموذج الإخراج:
4.0K /path/to/directory/file1.txt
12M /path/to/directory/subdirectory
1.5G /path/to/directory
عرض الأحجام حتى عمق معين
لحدود الإخراج إلى عمق دليل محدد، استخدم الخيار --max-depth
:
du -h --max-depth=1 /path/to/directory
التفسير:
--max-depth=1
: يحد من الإخراج إلى المحتويات على المستوى الأعلى داخل الدليل المحدد.
نموذج الإخراج:
500M /path/to/directory/subdirectory1
1.0G /path/to/directory/subdirectory2
1.5G /path/to/directory
دمج du
مع أوامر أخرى
العثور على أكبر الأدلة
يمكنك دمج du
مع أوامر sort
و head
للعثور على أكبر الأدلة أو الملفات.
du -h /path/to/directory | sort -hr | head -n 10
التفسير:
du -h
: يسرد حجم جميع الأدلة والأدلة الفرعية بتنسيق قابل للقراءة البشرية.sort -hr
: يقوم بفرز الإخراج بتنسيق قابل للقراءة البشرية بترتيب عكسي (من الأكبر إلى الأصغر).head -n 10
: يعرض أعلى 10 إدخالات.
نموذج الإخراج:
1.5G /path/to/directory
1.0G /path/to/directory/subdirectory2
500M /path/to/directory/subdirectory1
...
التحقق من حجم عدة أدلة
يمكنك التحقق من أحجام عدة أدلة دفعة واحدة عن طريق سردها في نهاية أمر du
:
du -sh /path/to/directory1 /path/to/directory2
نموذج الإخراج:
500M /path/to/directory1
1.0G /path/to/directory2
استبعاد ملفات أو أدلة معينة
لاستبعاد ملفات أو أدلة معينة من إخراج du
، استخدم الخيار --exclude
:
du -sh /path/to/directory --exclude="*.log"
التفسير:
--exclude="*.log"
: يستبعد جميع الملفات التي تنتهي بـ.log
.
عرض الحجم الظاهر مقابل استخدام القرص
بشكل افتراضي، يقوم du
بالإبلاغ عن مقدار مساحة القرص المستخدمة، والتي قد تختلف عن الحجم الظاهر للملفات بسبب تكاليف نظام الملفات، أو الملفات المتفرقة، أو الضغط. لعرض الحجم الظاهر، استخدم الخيار --apparent-size
:
du -sh --apparent-size /path/to/directory
استخدام ncdu
للتحليل التفاعلي
بينما تعتبر الأوامر الأساسية مثل du
قوية، تقدم لينكس أدوات متقدمة توفر طرقًا أكثر تفاعلية ومرئية لتحليل استخدام القرص. يمكن أن تساعدك هذه الأدوات في تحديد الملفات والأدلة الكبيرة بسرعة، مما يجعل إدارة مساحة القرص أكثر كفاءة.
ما هو ncdu
؟
ncdu
تعني استخدام القرص باستخدام NCurses. إنها أداة سطر أوامر توفر طريقة سريعة وتفاعلية لتحليل استخدام مساحة القرص. تم بناء ncdu
بواجهة مستخدم نصية باستخدام مكتبة ncurses، مما يسمح لك بالتنقل عبر الأدلة وفرزها حسب الحجم في الوقت الحقيقي.
الميزات الرئيسية
- واجهة تفاعلية: التنقل عبر الأدلة باستخدام الأسهم.
- تحليل سريع: مسح أسرع مقارنة بـ
du
التقليدي. - فرز سهل: فرز الأدلة والملفات حسب الحجم.
- خيار الحذف: حذف الملفات أو الأدلة مباشرة من الواجهة.
التثبيت
قد لا يأتي ncdu
مثبتًا مسبقًا على جميع توزيعات لينكس، لكنه متاح في معظم المستودعات.
-
ديبيان/أوبونتو:
sudo apt-get install ncdu
-
CentOS/RHEL:
sudo yum install ncdu
-
فيدورا:
sudo dnf install ncdu
الاستخدام
لتحليل دليل باستخدام ncdu
، قم بتشغيل:
ncdu /path/to/directory
إذا لم يتم تحديد مسار، فإنه يتجه افتراضيًا إلى الدليل الحالي.
التنقل في الواجهة
- الأسهم لأعلى/أسفل: التنقل عبر قائمة الملفات والأدلة.
- Enter: الدخول إلى دليل محدد.
- السهم الأيسر أو Backspace: العودة إلى الدليل السابق.
- n: فرز حسب الاسم.
- s: فرز حسب الحجم.
- d: حذف الملف أو الدليل المحدد.
- q: الخروج من
ncdu
.
مثال
-
افتح
ncdu
في دليل المنزل الخاص بك:ncdu ~
-
انتظر حتى يكتمل المسح. ستعرض الواجهة الأدلة والملفات مرتبة حسب الحجم.
-
استخدم مفاتيح الأسهم للتنقل وتحديد الملفات أو الأدلة الكبيرة.
-
اضغط على
d
لحذف الملفات أو الأدلة غير المرغوب فيها (استخدم بحذر).
فوائد استخدام ncdu
- السرعة: يمسح الأدلة الكبيرة بشكل أسرع من
du
. - التفاعلية: يوفر واجهة سهلة الاستخدام لتصفح استخدام القرص.
- الراحة: يسمح بالإجراءات الفورية، مثل حذف الملفات.
التصور باستخدام أمر tree
يعرض أمر tree
هيكل الدليل لمسار أو للقرص بتنسيق متداخل، مما يكون مفيدًا لفهم تخطيط الأدلة والملفات. مع خيارات إضافية، يمكنه أيضًا عرض حجم الملفات والأدلة.
التثبيت
قد لا يتم تثبيت tree
بشكل افتراضي ولكن يمكن إضافته بسهولة.
-
ديبيان/أوبونتو:
sudo apt-get install tree
-
CentOS/RHEL:
sudo yum install tree
-
فيدورا:
sudo dnf install tree
الاستخدام الأساسي
لعرض شجرة الدليل للدليل الحالي:
tree
لعرض شجرة الدليل لمسار محدد:
tree /path/to/directory
الخيارات الشائعة
-h
(قابل للقراءة البشرية): يطبع الحجم بتنسيق قابل للقراءة البشرية.-d
(الأدلة فقط): يسرد الأدلة فقط.-L
(المستوى): يحدد الحد الأقصى لعمق عرض شجرة الدليل.--du
: يعرض الحجم التراكمي لكل دليل.
أمثلة
عرض الشجرة مع أحجام الملفات
tree -h /path/to/directory
نموذج الإخراج:
/path/to/directory
├── [4.0K] file1.txt
├── [12M ] file2.bin
└── [1.5G] subdirectory
├── [500M] file3.iso
└── [1.0G] file4.tar.gz
1 directories, 4 files
عرض الأدلة فقط مع الأحجام
tree -dh --du /path/to/directory
التفسير:
-d
: يسرد الأدلة فقط.-h
: أحجام قابلة للقراءة البشرية.--du
: يظهر الحجم التراكمي لكل دليل.
نموذج الإخراج:
[1.5G] /path/to/directory
└── [1.5G] subdirectory
2 directories
تحديد عمق استكشاف الدليل
tree -h -L 2 /path/to/directory
التفسير:
-L 2
: يحدد العمق إلى مستويين.
فوائد استخدام tree
- تمثيل بصري: يوفر تسلسل هرمي واضح بصريًا للأدلة والملفات.
- إخراج قابل للتخصيص: خيارات متنوعة لعرض الأحجام وأنواع الملفات والأعماق.
- نظرة سريعة: يساعد في فهم الهيكل وتحديد الأدلة الكبيرة.
دمج ncdu
و tree
مع أدوات أخرى
يسمح لك ncdu
بتصدير نتائج المسح للتحليل لاحقًا.
-
حفظ النتائج في ملف:
ncdu -o output_file.json /path/to/directory
-
استيراد النتائج من ملف:
ncdu -f output_file.json
استخدام tree
مع Grep
يمكنك دمج tree
مع grep
للبحث عن ملفات أو أنماط معينة.
tree /path/to/directory | grep "pattern"
مثال:
البحث عن جميع ملفات .log
:
tree /var/log | grep ".log"
التحقق من حجم الدليل باستخدام أدوات واجهة المستخدم الرسومية
بينما تعتبر أدوات سطر الأوامر قوية وفعالة، توفر أدوات واجهة المستخدم الرسومية (GUI) نهجًا أكثر حداثة ومرئية لمراقبة استخدام القرص. هذه الأدوات مفيدة بشكل خاص للمستخدمين الذين يفضلون التمثيلات المرئية على البيانات النصية أو أولئك الذين يشعرون بعدم الارتياح مع واجهات سطر الأوامر.
محلل استخدام القرص Gnome (Baobab)
يعد محلل استخدام القرص Gnome، المعروف عمومًا باسم Baobab، تطبيقًا رسوميًا يوفر معلومات مفصلة حول استخدام القرص. يقدم واجهة سهلة الاستخدام مع تمثيلات مرئية، مما يجعل من السهل تحديد الملفات والأدلة الكبيرة.
- تمثيل رسومي: يعرض استخدام القرص باستخدام مخططات حلقة وخرائط شجرية.
- مراقبة في الوقت الحقيقي: يقوم بتحديث معلومات استخدام القرص ديناميكيًا.
- مسح عن بُعد: يمكنه تحليل الأدلة البعيدة عبر FTP وSSH وبروتوكولات أخرى.
- تنقل سهل: يسمح للمستخدمين بالتنقل عبر الأدلة بنقرات بسيطة.
التثبيت
غالبًا ما يتم تضمين Baobab بشكل افتراضي في توزيعات لينكس المستندة إلى Gnome. إذا لم يكن كذلك، يمكن تثبيته باستخدام مدير الحزم الخاص بتوزيعتك.
-
ديبيان/أوبونتو:
sudo apt-get install baobab
-
فيدورا:
sudo dnf install baobab
-
CentOS/RHEL:
sudo yum install baobab
الاستخدام
-
تشغيل Baobab:
-
من قائمة التطبيقات: ابحث عن "محلل استخدام القرص" أو "Baobab".
-
من الطرفية:
baobab
-
-
مسح الأدلة:
- مجلد المنزل: انقر على "مسح المنزل" لتحليل دليل المنزل الخاص بك.
- نظام الملفات: انقر على "مسح نظام الملفات" لتحليل النظام بالكامل.
- مجلد محدد: استخدم "مسح مجلد" لاختيار دليل معين.
-
تفسير النتائج:
- عرض مخطط الحلقة: تصور استخدام القرص في حلقات متحدة المركز، تمثل الأدلة والملفات.
- عرض شجري: يعرض قائمة هرمية مع معلومات الحجم.
- لوحة التفاصيل: تعرض معلومات إضافية حول العنصر المحدد، مثل المسار والحجم.
فوائد استخدام Baobab
- سهل الاستخدام: مثالي للمستخدمين الذين يفضلون واجهة المستخدم الرسومية على أدوات سطر الأوامر.
- رؤى بصرية: تحديد الملفات والأدلة الكبيرة بسرعة من خلال التمثيلات الرسومية.
- استكشاف تفاعلي: التنقل بسهولة عبر الأدلة وفحص أنماط استخدام القرص.
KDirStat و QDirStat
تعد KDirStat و QDirStat أدوات رسومية لاستخدام القرص مستوحاة من أمر Unix الأصلي du
ولكن مع ميزات بصرية إضافية.
- KDirStat: تم تطويرها في الأصل لبيئات KDE.
- QDirStat: خليفة قائم على Qt لـ KDirStat، يقدم وظائف مماثلة ولكن مع ميزات إضافية وتوافق عبر سطح المكتب.
الميزات الرئيسية
- تصور خريطة الشجرة: تعرض الملفات والأدلة كمستطيلات ملونة تتناسب مع أحجامها.
- عمليات الملفات: يسمح بحذف أو فتح الملفات مباشرة من الواجهة.
- التخصيص: يقدم خيارات تصفية وتخصيص لتحليل أكثر استهدافًا.
- دعم عبر الأنظمة: يعمل QDirStat على بيئات سطح المكتب المختلفة في لينكس.
التثبيت
-
QDirStat يتم صيانته بشكل أكثر نشاطًا ويوصى به على KDirStat.
-
ديبيان/أوبونتو:
sudo apt-get install qdirstat
-
فيدورا:
sudo dnf install qdirstat
-
CentOS/RHEL:
sudo yum install qdirstat
الاستخدام
-
تشغيل QDirStat:
-
من قائمة التطبيقات: ابحث عن "QDirStat".
-
من الطرفية:
qdirstat
-
-
مسح الأدلة:
- عند التشغيل، اختر الدليل الذي تريد تحليله.
- ستقوم التطبيق بالمسح وعرض استخدام القرص.
-
تفسير النتائج:
- عرض خريطة الشجرة: تمثل المستطيلات الملونة الملفات والأدلة.
- شجرة الدليل: عرض هرمي يظهر الأحجام والنسب المئوية.
- الإجراءات: خيارات النقر بزر الماوس الأيمن لحذف أو فتح أو استكشاف العناصر.
فوائد استخدام QDirStat
- تصور مفصل: تساعد خرائط الشجرة في تحديد الملفات الكبيرة بسرعة.
- واجهة تفاعلية: تنفيذ الإجراءات مباشرة من التطبيق.
- خيارات متقدمة: تدعم البرامج النصية المخصصة والتصفية المتقدمة.
Filelight
الميزات
Filelight هي أداة GUI أخرى قائمة على KDE توفر معلومات استخدام القرص باستخدام مخططات دائرية متحدة المركز.
- تصور خريطة شعاعية: تعرض استخدام القرص بتنسيق دائري.
- تنقل تفاعلي: تسمح الأجزاء القابلة للنقر بالتنقل بسهولة عبر الأدلة.
- عرض قابل للتخصيص: ضبط أنظمة الألوان وخيارات العرض.
التثبيت
-
ديبيان/أوبونتو:
sudo apt-get install filelight
-
فيدورا:
sudo dnf install filelight
الاستخدام
-
تشغيل Filelight:
-
من قائمة التطبيقات: ابحث عن "Filelight".
-
من الطرفية:
filelight
-
-
مسح الأدلة:
- اختر دليلًا للمسح من الواجهة.
- تنقل عبر الخريطة الشعاعية بالنقر على الأجزاء.
فوائد استخدام Filelight
- تصميم بديهي: الخريطة الشعاعية جذابة بصريًا وسهلة الفهم.
- تحديد سريع: تحديد الأدلة أو الملفات التي تأخذ أكبر مساحة بسهولة.
- التكامل: يعمل بشكل جيد ضمن بيئات KDE.
متى يجب استخدام أدوات واجهة المستخدم الرسومية
المزايا
- سهولة الاستخدام: أدوات واجهة المستخدم الرسومية عمومًا أكثر سهولة للمستخدمين غير المألوفين بسطر الأوامر.
- تمثيل بصري: يمكن أن تجعل العروض الرسومية من الأسهل فهم الهياكل المعقدة للأدلة وأنماط استخدام القرص.
- استكشاف تفاعلي: يسمح بالتنقل السريع والإجراءات الفورية مثل فتح أو حذف الملفات.
الاعتبارات
- استخدام الموارد: قد تستهلك أدوات واجهة المستخدم الرسومية موارد النظام أكثر مقارنة بالأدوات المستخدمة في سطر الأوامر.
- التوافر: ليست جميع أدوات واجهة المستخدم الرسومية متاحة على الخوادم بدون واجهة أو التثبيتات البسيطة.
- منحنى التعلم: بينما تكون سهلة الاستخدام، قد تتطلب بعض الأدوات وقتًا لفهم جميع الميزات.
أتمتة مراقبة استخدام القرص
يمكن أن تكون مراقبة أحجام الأدلة يدويًا مضيعة للوقت، خاصةً على الأنظمة التي تتغير فيها البيانات بسرعة. تضمن الأتمتة أنك تتلقى تنبيهات بشأن مشكلات مساحة القرص المحتملة على الفور، دون الحاجة إلى فحوصات يدوية مستمرة. في هذا القسم، سنستكشف كيفية أتمتة مراقبة استخدام القرص باستخدام نصوص shell و cron jobs.
تسمح لك نصوص shell بأتمتة المهام في سطر الأوامر عن طريق تنفيذ سلسلة من الأوامر في ملف نصي. من خلال كتابة نص shell لمراقبة أحجام الأدلة، يمكنك إعداد تنبيهات أو إجراءات تلقائية عند استيفاء شروط معينة.
نص عينة لمراقبة حجم الدليل
فيما يلي نص bash عينة يتحقق من حجم دليل محدد وينفذ إجراءً إذا تجاوز الحجم حدًا محددًا مسبقًا.
#!/bin/bash
# تعيين الدليل للمراقبة
DIR="/path/to/directory"
# تعيين حد الحجم بالكيلوبايت (على سبيل المثال، 1000000 KB = 1 GB)
THRESHOLD=1000000
# الحصول على الحجم الحالي للدليل بالكيلوبايت
SIZE=$(du -s "$DIR" | awk '{print $1}')
# التحقق مما إذا كان الحجم يتجاوز الحد
if [ "$SIZE" -ge "$THRESHOLD" ]; then
# الإجراء الذي يجب اتخاذه عند تجاوز الحد
# مثال: إرسال تنبيه عبر البريد الإلكتروني (يتطلب تكوين أداة البريد)
echo "الدليل $DIR قد تجاوز حد الحجم المحدد وهو $THRESHOLD KB. الحجم الحالي هو $SIZE KB." | mail -s "تنبيه استخدام القرص لـ $DIR" [email protected]
# بدلاً من ذلك، سجل الحدث في ملف
echo "$(date): حجم $DIR هو $SIZE KB، متجاوزًا الحد $THRESHOLD KB." >> /var/log/disk_usage.log
# أضف إجراءات إضافية، مثل حذف الملفات القديمة أو الأرشفة
fi
التفسير
- المتغيرات:
DIR
: الدليل الذي تريد مراقبته.THRESHOLD
: حد الحجم بالكيلوبايت؛ قم بتعديل هذا لتعيين حدك المطلوب.
- الأوامر:
du -s "$DIR"
: يحسب الحجم الإجمالي للدليل.awk '{print $1}'
: يستخرج قيمة الحجم من إخراجdu
.
- التحقق الشرطي:
- تقارن عبارة
if
الحجم الحالي للدليل مع الحد.
- تقارن عبارة
- الإجراءات:
- تنبيه عبر البريد الإلكتروني: يرسل إشعارًا عبر البريد الإلكتروني (يتطلب خادم بريد مُعد).
- التسجيل: يكتب إدخالًا في ملف السجل.
- إجراءات مخصصة: يمكنك إضافة أوامر لحذف الملفات، أو ضغط البيانات، أو أي إجراء آخر.
المتطلبات المسبقة
- أداة البريد: لإرسال تنبيهات عبر البريد الإلكتروني، تأكد من تثبيت وتكوين MTA (أداة نقل البريد) مثل
sendmail
أوpostfix
. - الأذونات: يحتاج النص إلى أذونات تنفيذ. قم بتشغيل
chmod +x script.sh
لجعله قابلاً للتنفيذ. - دليل السجل: تأكد من أن
/var/log/disk_usage.log
قابل للكتابة أو قم بتعديل المسار إلى ملف سجل في موقع قابل للكتابة.
إعداد التنبيهات باستخدام cron jobs
لأتمتة تنفيذ نص المراقبة الخاص بك، يمكنك جدولة ذلك باستخدام cron
، وهو جدولة المهام المعتمدة على الوقت في أنظمة التشغيل الشبيهة بـ Unix.
جدولة النص
-
تحرير ملف Crontab
افتح محرر crontab للمستخدم الحالي:
crontab -e
-
إضافة مهمة Cron
أضف سطرًا لجدولة نصك. على سبيل المثال، لتشغيل النص كل يوم في منتصف الليل:
0 0 * * * /path/to/script.sh
تفصيل تنسيق Cron:
- الدقيقة (
0
): الدقيقة من الساعة (0-59) - الساعة (
0
): الساعة من اليوم (0-23) - يوم الشهر (
*
): كل يوم من الشهر - الشهر (
*
): كل شهر - يوم الأسبوع (
*
): كل يوم من الأسبوع
- الدقيقة (
-
حفظ والخروج
- احفظ الملف واخرج من المحرر. تم الآن جدولة مهمة cron للتشغيل في الوقت المحدد.
أمثلة جدولة Cron
-
كل ساعة: تشغيل النص في بداية كل ساعة.
0 * * * * /path/to/script.sh
-
كل 30 دقيقة: تشغيل النص كل 30 دقيقة.
*/30 * * * * /path/to/script.sh
-
أيام محددة: تشغيل النص في الساعة 2 صباحًا كل يوم أحد.
0 2 * * 0 /path/to/script.sh
التحقق من مهمة Cron
-
قائمة مهام Cron: لتأكيد جدولة مهمة cron الخاصة بك، قم بإدراج جميع مهام cron للمستخدم الحالي:
crontab -l
-
التحقق من سجلات Cron: يمكن أن تساعد سجلات cron في التحقق مما إذا كان النص يعمل كما هو متوقع. في العديد من الأنظمة، توجد سجلات cron في
/var/log/cron
أو ضمن ملفات syslog.
مثال: مراقبة عدة أدلة
يمكنك توسيع نصك لمراقبة عدة أدلة عن طريق التكرار عبر قائمة من الأدلة.
#!/bin/bash
# الأدلة للمراقبة
DIRS=("/path/to/directory1" "/path/to/directory2")
# حد الحجم بالكيلوبايت
THRESHOLD=1000000
for DIR in "${DIRS[@]}"; do
SIZE=$(du -s "$DIR" | awk '{print $1}')
if [ "$SIZE" -ge "$THRESHOLD" ]; then
echo "$(date): حجم $DIR هو $SIZE KB، متجاوزًا الحد $THRESHOLD KB." >> /var/log/disk_usage.log
# أضف إجراءات إضافية هنا
fi
done
دمج مع أدوات مراقبة النظام
للحصول على قدرات مراقبة وتنبيه أكثر تقدمًا، يمكنك دمج فحوصات حجم الدليل في أدوات مراقبة النظام مثل Nagios، Zabbix، أو Prometheus.
استخدام Nagios
- إنشاء مكون إضافي مخصص: اكتب نصًا يخرج بتنسيق مكون إضافي لـ Nagios.
- تعريف خدمة: قم بتكوين Nagios لتشغيل المكون الإضافي على فترات منتظمة.
- تعيين الحدود: حدد حدود التحذير والحرجة لأحجام الأدلة.
استخدام Zabbix
- إنشاء معلمات مستخدم: حدد عناصر مخصصة في تكوين وكيل Zabbix للتحقق من أحجام الأدلة.
- إعداد المحفزات: أنشئ محفزات تنطلق عند تجاوز الحدود.
- تكوين الإجراءات: إعداد الإشعارات أو الاستجابات التلقائية.
استخدام Prometheus
- كتابة مكون إضافي: تطوير نص مكون إضافي مخصص يوفر مقاييس حجم الدليل.
- جمع المقاييس: قم بتكوين Prometheus لجمع المقاييس من المكون الإضافي.
- التنبيه: استخدم Prometheus Alertmanager لإرسال إشعارات عند استيفاء الشروط.
استخدام مراقبة السجلات
إذا كانت نصوصك تسجل في ملفات، يمكنك استخدام أدوات مراقبة السجلات مثل Logwatch أو Logrotate لإدارة وتحليل السجلات.
- Logwatch: يولد تقارير بناءً على سجلات النظام، والتي يمكن أن تشمل سجلاتك المخصصة.
- Logrotate: يدير أحجام ملفات السجل عن طريق تدويرها، وضغطها، وحذف السجلات القديمة.
أفضل الممارسات لمراقبة الأتمتة
تعيين الحدود المناسبة
- اختر الحدود التي تمنحك وقتًا كافيًا للتصرف قبل نفاد مساحة القرص.
- ضع في اعتبارك تعيين حدود مختلفة لأدلة مختلفة بناءً على أنماط استخدامها النموذجية.
اختبار النصوص بدقة
- قم بتشغيل النصوص يدويًا للتأكد من أنها تعمل كما هو متوقع.
- تحقق من الحالات الحدية، مثل عدم وجود الأدلة أو مشكلات الأذونات.
تأمين نصوصك
- قم بتخزين النصوص في موقع آمن مع الأذونات المناسبة.
- تجنب تضمين معلومات حساسة مثل كلمات المرور في النصوص.
استخدام الإشعارات بحكمة
- قم بتكوين التنبيهات لتجنب إرهاق الإشعارات.
- استخدم مستويات تنبيه مختلفة (مثل التحذير، الحرجة) لتحديد أولويات الاستجابة.
الحفاظ على السجلات
- احتفظ بسجلات لتنفيذ النصوص والإجراءات المتخذة.
- راجع السجلات بانتظام لتحديد الاتجاهات أو المشكلات المتكررة.
إدارة الموارد
- تأكد من أن النصوص فعالة ولا تستهلك موارد النظام بشكل مفرط.
- كن حذرًا مع الحذف أو الأرشفة التلقائية لتجنب فقدان البيانات غير المقصود.
الأسئلة الشائعة (FAQs)
كيف يمكنني التحقق من حجم دليل باستخدام سطر الأوامر في لينكس؟
يمكنك استخدام أمر du
للتحقق من حجم دليل. للحصول على إخراج ملخص، قابل للقراءة البشرية، استخدم:
du -sh /path/to/directory
ماذا يفعل الخيار -h
في أمر du
؟
الخيار -h
يعني قابل للقراءة البشرية. يقوم بتنسيق أحجام الإخراج بطريقة أكثر فهمًا، باستخدام وحدات مثل الكيلوبايت (K)، والميغابايت (M)، والجيغابايت (G).
كيف يمكنني العثور على أكبر الملفات أو الأدلة داخل دليل معين؟
يمكنك دمج أوامر du
و sort
و head
:
du -ah /path/to/directory | sort -hr | head -n 10
تقوم هذه الأوامر بإدراج أكبر 10 ملفات أو أدلة.
هل هناك أداة لتحليل استخدام القرص بشكل تفاعلي؟
نعم، ncdu
هي أداة سطر أوامر تفاعلية توفر واجهة سهلة الاستخدام لتحليل استخدام القرص.
-
التثبيت:
sudo apt-get install ncdu # ديبيان/أوبونتو sudo yum install ncdu # CentOS/RHEL
-
الاستخدام:
ncdu /path/to/directory
كيف يمكنني استبعاد ملفات أو أدلة معينة عند التحقق من استخدام القرص؟
استخدم الخيار --exclude
مع du
:
du -sh /path/to/directory --exclude="*.log"
يستبعد هذا الأمر جميع الملفات التي تنتهي بـ .log
.
هل يمكنني التحقق من استخدام القرص للأدلة بشكل رسومي؟
نعم، يمكنك استخدام أدوات واجهة المستخدم الرسومية مثل Baobab (محلل استخدام القرص)، QDirStat، أو Filelight لتصور استخدام القرص.
كيف يمكنني تثبيت Baobab على نظام لينكس الخاص بي؟
-
ديبيان/أوبونتو:
sudo apt-get install baobab
-
فيدورا:
sudo dnf install baobab
ما الفرق بين أوامر du
و df
؟- du
(استخدام القرص): يقدر استخدام مساحة الملفات للدلائل والملفات.
df
(القرص الفارغ): يبلغ عن مقدار مساحة القرص المتاحة على نظام الملفات.
كيف يمكنني أتمتة مراقبة استخدام القرص واستقبال التنبيهات؟
يمكنك كتابة سكربت شل للتحقق من أحجام الدلائل وإعداد مهمة كرون لتشغيل السكربت في فترات منتظمة. يمكن أن يرسل السكربت تنبيهات عبر البريد الإلكتروني أو يسجل رسائل عند تجاوز العتبات.
كيف يمكنني التحقق من حجم جميع الدلائل الفرعية داخل دليل حتى عمق معين؟
استخدم خيار --max-depth
مع du
:
du -h --max-depth=1 /path/to/directory
يظهر هذا الأمر أحجام جميع العناصر داخل الدليل المحدد دون النزول إلى الدلائل الفرعية لأكثر من مستوى واحد.
لماذا يختلف الحجم المبلغ عنه بواسطة du
عما أتوقعه بناءً على أحجام الملفات؟
يبلغ du
عن المساحة الفعلية المستخدمة على القرص، والتي يمكن أن تختلف عن الحجم الظاهر بسبب عوامل مثل تكاليف نظام الملفات، الملفات المتناثرة، أو الضغط.
كيف يمكنني عرض الحجم الظاهر بدلاً من استخدام القرص؟
استخدم خيار --apparent-size
مع du
:
du -sh --apparent-size /path/to/directory
كيف يمكنني العثور على الملفات الكبيرة وحذفها التي تستهلك مساحة القرص؟
أولاً، حدد الملفات الكبيرة:
find /path/to/directory -type f -size +100M
يجد هذا الأمر الملفات التي تزيد عن 100 ميغابايت. راجع الملفات قبل حذفها:
rm /path/to/largefile
تحذير: كن حذرًا عند حذف الملفات لتجنب إزالة بيانات مهمة.
هل يمكنني استخدام الرموز النمطية مع أمر du
للتحقق من عدة دلائل؟
نعم، يمكنك استخدام الرموز النمطية:
du -sh /path/to/directories/*
كيف يمكنني التحقق من استخدام مساحة القرص عن بُعد عبر SSH؟
يمكنك تشغيل أي من أوامر du
عبر SSH:
ssh user@remote_host 'du -sh /path/to/directory'
ما هي الأذونات المطلوبة للتحقق من أحجام الدلائل؟
تحتاج إلى أذونات قراءة للدلائل والملفات التي تتحقق منها. بدون الأذونات المناسبة، قد لا يتمكن du
من الوصول إلى بعض الدلائل، وقد ترى أخطاء رفض الأذونات.
كيف يمكنني تصور استخدام القرص للدلائل البعيدة؟
تسمح لك أدوات مثل Baobab بمسح الدلائل البعيدة عبر بروتوكولات مثل SSH وFTP وSamba.
هل هناك طريقة لاستبعاد أنماط متعددة عند استخدام du
؟
نعم، يمكنك استخدام خيارات --exclude
متعددة:
du -sh /path/to/directory --exclude="*.log" --exclude="cache"
كيف يمكنني التحقق من حجم ملف معين؟
استخدم أمر ls
مع خيار -lh
:
ls -lh /path/to/file
أو استخدم du
:
du -h /path/to/file
هل يمكنني التحقق من أحجام الدلائل على الأنظمة دون تثبيت أدوات إضافية؟
نعم، أمر du
هو جزء من أدوات GNU الأساسية ومتوفر على جميع أنظمة لينكس بشكل افتراضي.