کانال تلگرام منطقه لینوکسی ها
نمایش نتایج: از 1 به 2 از 2

موضوع: مشکل در نوشتن shell script در linux برای مانیتور کردن داخلی های asterisk

  1. #1
    مدیریت بخش
    تاریخ عضویت
    Aug 2013
    سن
    32
    نوشته ها
    737
    تشکر ها
    284
    2
    میزان امتیاز
    4
    Array

    مشکل در نوشتن shell script در linux برای مانیتور کردن داخلی های asterisk

    من میخوام وضعیت یکی از یوزرهای voip داخل سرورم (100) رو مانیتور کنم برای همین از دستور asterisk -rx 'sip show peer 100' استفاده میکنم. که یک خروجی شبیه زیر میده :
    کد PHP:
     Status       OK (5 ms)
      
    Useragent    Grandstream GXP2160 1.0.4.23
      Reg
    Contact sip:100@192.168.1.110:5060
      Qualify Freq 
    60000 ms
      Keepalive    
    0 ms
      Sess
    -Timers  Accept
      Sess
    -Refresh uas
      Sess
    -Expires 1800 secs
      Min
    -Sess     90 secs
      RTP Engine   
    asterisk 
    با کمک grep و دستور awk تونستم فقط خط Status رو که وضعیتش OK زده رو به عنوان خروجی بکشم بیرون :
    کد PHP:
    [root@asterisk11 ~]# asterisk -rx 'sip show peer 100' | grep --text -i Status | awk '{print $3}'
    OK 

    بعد از این من اومدم یک شل اسکریپت نوشتم که اگر خروجی دستور asterisk -rx 'sip show peer 100' | grep --text -i Status | awk '{print $3}' برابر با OK بود عدد 1 رو چاپ کنه در غیر اینصورت عدد 0 را نمایش بدهد که این عدد رو میخوام بدم به یک نرم افزار مانیتورینگ.
    shell script که زدم به صورت زیر هستش :
    کد PHP:
    #!/bin/bash
    "asterisk -rx 'sip show peer 100' | grep --text -i Status | awk '{print $3}'" status
    if [ "$status== "OK" ]
    then
    echo 1
    elseif
    echo 
    0
    exit 
    توی خط اول اون کامند asterisk -rx رو زدم که بعدش ریختم توی متغییر status سپس در خط دوم هم تعریف کردم اگر متغییر status برابر با OK بود در خط بعد گفتم با کامند echo عدد 1 رو نمایش بده و در غیر اینصورت عدد 0 را نمایش بدهد. ولی وقتی اسکریپت رو اجرا میکنم با پیغام خطاهای زیر مواجه میشم :
    کد PHP:
    [root@asterisk11 ~]# ./EXT-100.sh
    ./EXT-800.shline 2asterisk -rx 'sip show peer 100' grep --text -i Status awk '{print }'command not found
    ./EXT-100.shline 9syntax errorunexpected end of file 
    ویرایش توسط amir : 12-21-2016 در ساعت 05:19 PM
    سال 95 :: دانسته هایمان را به اشتراک میگذاریم
    رویاهای خودت رو دنبال کن

  2. #2
    مدیریت کل انجمن
    تاریخ عضویت
    Jun 2013
    محل سکونت
    Tehran
    سن
    32
    نوشته ها
    1,281
    تشکر ها
    749
    22
    میزان امتیاز
    6
    Array
    سلام این مورد رو اتفاقا خودمم درگیرش بودم قبلا ولی وقت نکرده بودم تکمیلش کنم. دستور مربوط به استریسک رو باید توی تک کوتیشن بذارید و شرط elsif هم که گذاشتید درست نیستش. شکل صحیحی که باید کد بزنید به صورت زیر هستش :
    کد PHP:
    #!/bin/bash
    status=`asterisk -rx 'sip show peer 100' | grep --text -i Status | awk '{print $3}'`
    if [ 
    $status OK ]
    then
    echo "1"
    else
    echo 
    "0"
    fi 
    کانال تلگرام : https://telegram.me/linuxzone
    گروه فیس بوک : https://www.facebook.com/groups/linux.zone
    گوگل پلاس : https://plus.google.com/communities/...85817219667474
    گروه لینکدین : https://www.linkedin.com/groups/13521922
    پروفایل تویتر : https://twitter.com/Mohammad_Habili
    پروفایل اینستاگرام : https://www.instagram.com/mohammad_habili

  3. 2 کاربر مقابل از Habili عزیز به خاطر این پست مفید تشکر کرده اند .


موضوعات مشابه

  1. خطای Unable to connect to remote asterisk موقع مانیتور کردن asterisk با zabbix
    توسط behrooz در انجمن نرم افزارهای مانیتورینگ و مدیریت شبکه لینوکسی
    پاسخ: 17
    آخرين نوشته: 12-08-2016, 04:32 PM
  2. نصب و راه اندازی مانیتورینگ zabbix در linux
    توسط Habili در انجمن نرم افزارهای مانیتورینگ و مدیریت شبکه لینوکسی
    پاسخ: 35
    آخرين نوشته: 11-02-2016, 12:11 PM
  3. آموزش برنامه نویسی Shell Script بخش دوم
    توسط 4TT4CK3R در انجمن آموزش اسکریپت نویسی >> Linux Scripting& Programing
    پاسخ: 0
    آخرين نوشته: 03-26-2016, 03:07 PM
  4. آموزش برنامه نویسی Shell Script بخش اول
    توسط 4TT4CK3R در انجمن آموزش اسکریپت نویسی >> Linux Scripting& Programing
    پاسخ: 0
    آخرين نوشته: 03-16-2016, 04:53 PM
  5. فرستادن argument به Shell script
    توسط Abbas_Karimi در انجمن برنامه نویسی در استریسک >> Asterisk Programming
    پاسخ: 1
    آخرين نوشته: 08-22-2013, 03:20 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
درباره ما
سایت منطقه لینوکسی ها در سال 1392 با هدف ارائه خدمات نوین در حوزه فناوری اطلاعات و ارتباطات در راستای پیاده سازی ارتباطات صدا، تصویر، دیتا و بالا بردن سطح علمی و عمومی کاربران از طریق انجمن در سطح جهانی راه اندازی شده و با بهره گیری از توان تخصصی و تجارب حرفه ای مدیران و کارشناسان خود، پیشگام بودن در ارائه راه کارهای برتر را آرمان خود قرار داده است. امید است این سایت بتواند زمینه ساز رشد و ترقی جامعه ایرانی در سرتاسر دنیا گردد.
شبکه های اجتماعی
ایمیل مدیر کل
habili@linux-zone.org