اطلاعیه

بستن
No announcement yet.

شل اسکریپت ساده برای مانیتورینگ فرایندی خاص

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    شل اسکریپت ساده برای مانیتورینگ فرایندی خاص

    نوشتن یک شل اسکریپت که چک کند آیا فرایندی خاص (مانند sshd) در حال حاضر روی سیستم start است یا نه؟یک فایل به نام isupsshd.sh ایجاد می کنیم و کد هایی که در ادامه آمده را در آن وارد کنید. نمی خواهیم برنامه (فایل) را دستی اجرا کنیم، بلکه از طریق cron می خواهیم آنرا زمانبندی کنیم.از دستور های grep,ps و تعریف متغیر لازم، استفاده می کنیم.

    دستور ps به صورت زیر در کد استفاده شده است.

    کد PHP:
    ps ax grep –v grep grep $PROCESS grep –v $SCRIPT 
    ps ax : تمامی فرایند های متعلق به شما را نشان می دهد. grep –v grep از لیست خروجی ها، دستور grep را حذف می کند و در نهایت لیستی که شامل دستور grep نیست به grep $PROCESS می رود و این دستور هم فقط خطی مانند زیر که شامل شناسه فرایند sshd است را نشان می دهد. آخرین بخش دستور بالا grep –v $SCRIPT است که از فهرست خروجی ps نام اسکریپت را حذف می کند. این بخش بسیار مهم است. فرض کنید، دستور را دستی اجرا کرده اید.

    کد PHP:
    isupsshd.sh/. 
    پس یک خط در لیست خروجی دستور ps نیز ظاهر می شود. (فرایند bash مسئول اجرای اسکریپت است پس نیاز دارد یک نمونه از خودش (یک فرایند جدید) برای اجرای اسکریپت ایجاد کند و این یعنی ps همیشه خروجی دارد (حتی اگر سرویسی مانند sshd نیز غیر فعال باشد و همیشه Exit Codeبرابر یک خواهد بود.). دو متغیر به نام های PROCESS و MHOST به ترتیب نام فرایند و نام هاست ماشینی که اسکریپت روی آن اجرا می شود را نشان می دهد.

    کد PHP:
    “PROCESS=”sshd

    `MHOST=`hostname 
    دومین متغیر نتیجه اجرای دستور hostname را در متغیر MHOST ذخیره می کند. متغیر دیگر SCRIPT$ است که خروجی اجرای دستور basename $0 را ذخیره می کند.

    (SCRIPT=$(basename $0

    متغیر 0$ درون یک شل اسکریپت نام (مسیر) فایل را نشان می دهد. اصلی ترین بخش دستور خطوط زیر است.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	if-else.png نمایش ها:	1 اندازه:	13.6 KB شناسه:	18270

    اولین خط Exit Code دستور قبلی (یعنی ps) را در متغیر STATUS$ ذخیره می کند. در صورتی که دستور قبلی درست اجرا شده باشد، متغیر ?$ برابر صفر می شود و در STATUS$ ذخیره شده و ایملی برای اجرا بودن سرویس ssh (که فرایندش sshd مخفف ssh daemon ) ارسال می شود. در غیر انصورت ایملی که به مدیر می گوید که ssh غیر فعال می باشد.

    کد کامل

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	full.png نمایش ها:	1 اندازه:	19.2 KB شناسه:	18271

    دانلود فایل : isupsshd.zip
    نویسنده نامی امیر
    فایل های پیوست شده
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-11-2020, 11:53 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X