안녕하세요.
다름이 아니라 클라이언트 1대를 핑으로 30초동안 응답이 없음 , 외부명령을 실행할려고합니다.
ping -c 1 -w 30 아이피 &> /dev/null
if [ "$?" == "0" ] ; then
echo "응답있음"
else
echo "30초 응답없음"
if [ "$?" == "0" ] ; then
echo "응답있음"
else
echo "30초 응답없음"
외부명령실행
fi
fi
위와같이 스크립트를 짜니 1초만에 외부명령 실행이 되네요.. .
다른방법이 있는지?
30Ãʵ¿¾È ping ÀÀ´äÀÌ ¾ø´Â °æ¿ì Á¾·áÇÏ°Ú´Ù¶ó´Â ¿É¼ÇÀÔ´Ï´Ù.
¸¸¾à ping timeoutÀÌ ¾Æ´Ï¶ó,
°ÔÀÌÆ®¿þÀ̷κÎÅÍ Destination Host Unreachable À̶ó´Â ÀÀ´äÀ» ¹Þ¾Ò´Ù¸é
ÀÌ °Íµµ ÀÀ´äÀ¸·Î Ãë±ÞÇؼ ping ¿äûÀº Áï½Ã Á¾·áµË´Ï´Ù.
ÆÄÀÏÀ» ¶³±¸´Â ´ÜÁ¡ÀÌ ÀÖ±äÇÏÁö¸¸.. ¿ë·®ÀÌ ´Ã°Å³ª ÇÏ´Â°Ô ¾Æ´Ï´Ï..
30Ãʵ¿¾È ¾Æ¿¹ ÀÀ´äÀÌ ¾øÀ¸¸é received ¶ó´Â °ªÀÌ 100% loss ·Î ³ª¿À°Ô µË´Ï´Ù.
±×ºÎºÐÀ» ±âÁØÀ¸·Î ÃßÃâÇؼ ÀÀ´äÀÌ 0À̶ó´Â Á¶°ÇÀÌ ¸ÂÀ¸¸é 30ÃÊ ÀÀ´ä¾øÀ½À¸·Î ÆÇ´ÜÇÏ°ÔÇß½À´Ï´Ù.
±×¸®°í Á¤»ó½Ã¿¡´Â °ªÀÌ ¾ø±â¶§¹®¿¡ ±×ºÎºÐµµ üũÇØ¾ß Çؼ Á» º¹ÀâÇØÁö±äÇ߳׿ä..
¶ÇÇÑ ping ºÎºÐÀº ¹é±×¶ó¿îµå·Î ½ÇÇà½Ã ¸í·ÉÁÙ ³Ñ¾î°¥°ÍÀ» °í·ÁÇØ Æ÷±×¶ó¿îµå·Î ÁøÇà½ÃÄ×½À´Ï´Ù.
Å×½ºÆ®´Â Àß µÇ´Â°Å °°³×¿ä..bash½©À» ±âÁØÀ¸·ÎÀÛ¼ºÇß½À´Ï´Ù.. Á¶°ÇºÎºÐÀº Á»´õ Á¶Á¤ÇÏ´Â°Ô ÁÁÀ» ¼öµµÀÖ°Ú½À´Ï´Ù.
Á»´õ °í¼öºÐµé²²¼ ±ò²ûÇÏ°Ô Á¤¸®ÇØÁֽøé ÁÁ°Ú³×¿ä~
#!/bin/bash
TEST_CHECK=/tmp/ping_test.log
FILE_CHECK=/tmp/ping_check.log
ping -c 1 -w 30 168.126.63.44 > ${TEST_CHECK}
cat ${TEST_CHECK} | grep 100% | awk '{print $4}' > ${FILE_CHECK}
RECEIVED=`cat ${FILE_CHECK}`
if [ -s ${FILE_CHECK} ] && [ ${RECEIVED} -eq 0 ]
then
echo "30ÃÊ ÀÀ´ä¾øÀ½"
#¿ÜºÎ¸í·É½ÇÇàÁÙ
else
echo "ÀÀ´äÀÖÀ½"
fi
À§ÀÇ ½ºÅ©¸³Æ®´Â ¿ÏÀüÈ÷ ÇÎÀÌ ¾È°¬À»°æ¿ì¸¸ Á¶°Ç¹®À¸·Î ¸¸µç°Å¶ó.. ping °á°ú°ªÀ» ¹ÙÅÁÀ¸·ÎÇؼ
¼öÁ¤Çؼ »ç¿ëÇÏ½É µÉ°Í °°½À´Ï´Ù..
--> ping -c 30 168.126.63.44 > ${TEST_CHECK}
Çϴϱñ µÇ³×¿ä.. À¸í·ÉÀº Çѹø¸¸ Ç϶óÀÌ°í..Áö¿ì´Ï±ñ.. 30¹ø üŷÇϳ׿ä..^^