• Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • Server/Tools/chkalive ¤Ø¹Ô¤¯¡£

#contents


*¤Ï¤¸¤á¤Ë [#m82bad32]
üËö¤ÎÀ¸»à¡Ê¡©¡Ë¾õ¶·¤òÄê´üŪ¤Ë¥á¡¼¥ë¤Ç¥ì¥Ý¡¼¥È¤¹¤ë¥Ä¡¼¥ë¤Ç¤¹¡£~
ping¤òÁ÷¿®¤·¤Æ¡¢È¿±þ¤¬Í­¤ì¤Ðalive¡¢Ìµ¤±¤ì¤Ðdead¤È¤·¤Æ¤¤¤Þ¤¹¡£


*¥½¡¼¥¹¥³¡¼¥É [#u599fd7b]
 #!/usr/local/bin/bash
 
 #----------------------------------------------------
 #  Computer Alive Checker (for MultiClients)
 #  Version 0.20
 #  by myasu 2002
 #----------------------------------------------------
 
 #Ãí°Õ
 #  ɬ¤ºGNU¤Î¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
 #  ping¤ÎÊÖÅú·ë²Ì¤¬ "... is alive" "... is dead"¤Î¤ß¤ËÂбþ¡£
 #  (_SEND_PING´Ø¿ô¤Î½ñ¤­´¹¤¨¤¬É¬Í×)
 
 #----------------------
 #½é´üÀßÄê
 
 #Æó½ÅÁ÷¿®ËÉ»ßÍѥե饰¤Î½ñ¤­¹þ¤ßÀè¥Ç¥£¥ì¥¯¥È¥ê
 DIR_FLUG="./"
 
 #¥Á¥§¥Ã¥¯ÂоݤȤʤ륳¥ó¥Ô¥å¡¼¥¿¤Î£É£Ð¥¢¥É¥ì¥¹(ºÇ¸å¤Ëɬ¤º"null"¤òÆþ¤ì¤ë¤³¤È¡ª)
 LIST_IP=( \
 	10.96.101.1 \
 	10.96.101.2 \
 	10.96.101.3 \
 	null
 )
 
 #¥á¡¼¥ë¤ÎÁ÷¿®Àè
 LIST_MAIL="hoge@hogegoge"
 
 #ÊÖ¿®Àè
 RET_MAIL="hoge@hogegoge"
 
 
 #»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ÎÀßÄê
 C_NSLOOKUP="/usr/local/bin/dnsname"
 C_PING="/usr/sbin/ping"
 C_DATE="/usr/local/bin/date"
 C_SENDMAIL="/var/qmail/bin/qmail-inject"
 #C_SENDMAIL="/usr/SUNWale/bin/mailx"
 C_TOUCH="/usr/local/bin/touch"
 C_AWK="/usr/local/bin/awk"
 C_RM="/usr/local/bin/rm"
 
 #½ð̾
 SIG_MESSAGE="ChkAlive Ver.0.2"
 
 
 #----------------------
 #´Ø¿ô
 
 #IP¥¢¥É¥ì¥¹¤«¤é¥³¥ó¥Ô¥å¡¼¥¿Ì¾¤òÊÖ¤¹
 function _IP_TO_NAME()
 {
 	BUF_NAME=`eval $C_NSLOOKUP $1`
 	return
 }
 
 #Ping¤òÁ÷¤Ã¤Æ¡¢¾õÂÖ¤ò³Îǧ
 function _SEND_PING()
 {
 	#pingÁ÷¿®(¥¿¥¤¥à¥¢¥¦¥È3ÉÃ)
 	STATE=`eval $C_PING $1 3 | $C_AWK '{print $3}'`
     
     #¤â¤· alive ¤Ê¤é 0 ¤òÊÖ¤¹
 	if [ $STATE = "alive" ]; then
 		return 0
 	else
 		return 1
 	fi
 }
 
 #Æó½ÅÁ÷¿®Ëɻߥե饰¤Î¾õÂÖ¥Á¥§¥Ã¥¯
 function _CHK_FLUG()
 {
 	#¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ì¤Ð 0 ¤òÊÖ¤¹
 	if [ -f ${DIR_FLUG}flg_$1 ]; then
 		return 0
 	else
 		return 1
 	fi
 }
 
 #Æó½ÅÁ÷¿®Ëɻߥե饰¤òΩ¤Æ¤ë
 function _MAKE_FLUG()
 {
 	$C_TOUCH ${DIR_FLUG}flg_$1
 }
 
 #Æó½ÅÁ÷¿®Ëɻߥե饰¤ò¾Ã¤¹
 function _DEL_FLUG()
 {
 	$C_RM ${DIR_FLUG}flg_$1
 }
 
 #Ää»ß¤·¤Æ¤¤¤ë»Ý¤Î¥á¡¼¥ë¤òÁ÷¿®
 function _SEND_REPORT_DEAD()
 {
 	echo -n "Sending Mail ($1 is dead)... "
 	
 	#ËÜʸ¤ÎºîÀ®
 	BUF_DATE=`eval $C_DATE`
 	_IP_TO_NAME $1
 
 	env - $C_SENDMAIL -f${RET_MAIL} << EOF
 To: $LIST_MAIL
 From: ServerRepor <>
 Subject: $BUF_NAME is DEAD!
 
 $BUF_DATE
 $BUF_NAME ($1) is dead!
 
 ---
 $SIG_MESSAGE
 EOF
 
     echo "done"
 
 }
 
 #Éüµ¢¤·¤¿»Ý¤ò¥á¡¼¥ë¤ÇÁ÷¿®
 function _SEND_REPORT_ALIVE()
 {
 
 	echo -n "Sending Mail ($1 is alive)... "
 
 	#ËÜʸ¤ÎºîÀ®
 	BUF_DATE=`eval $C_DATE`
 	_IP_TO_NAME $1
 
 	env - $C_SENDMAIL -f${RET_MAIL} << EOF
 To: $LIST_MAIL
 From: ServerReport <>
 Subject: $BUF_NAME is alive.
 
 $BUF_DATE
 $BUF_NAME ($1) is alive, thank you!
 
 ---
 $SIG_MESSAGE
 EOF
 
     echo ""
 
 }
 
 
 #----------------------
 #¥á¥¤¥ó½èÍý
 
 i=0
 
 while [ ${LIST_IP[i]} != "null" ]
 do
 
   echo -n "Checking[${LIST_IP[i]}]..."
   
   #pingÁ÷¿®
   _SEND_PING ${LIST_IP[i]}
   if [ $? -ne 0 ]; then
 
 	  #dead¤Ê¤é
 	  echo "[dead] "
 
 	  #¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯
 	  _CHK_FLUG ${LIST_IP[i]}
 	  if [ $? -ne 0 ]; then
 		  #¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤Ê¤±¤ì¤Ð
 		  #Ää»ß¤·¤Æ¤¤¤ë»Ý¤ò¥á¡¼¥ë¤ÇÄÌÃÎ
 		  _SEND_REPORT_DEAD ${LIST_IP[i]}
 		  #¥Õ¥é¥°¤òΩ¤Æ¤ë
 		  _MAKE_FLUG ${LIST_IP[i]}
 	  fi
 
   else
 
 	  #alive¤Ê¤é
 	  echo "[alive] "
 
 	  #¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯
 	  _CHK_FLUG ${LIST_IP[i]}
 	  if [ $? -eq 0 ]; then
 		  #¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ì¤Ð
 		  #Éüµ¢¤·¤¿»Ý¤ò¥á¡¼¥ë¤ÇÄÌÃÎ
 		  _SEND_REPORT_ALIVE ${LIST_IP[i]}
 		  #¥Õ¥é¥°¤òºï½ü
 		  _DEL_FLUG ${LIST_IP[i]}
 	  fi
   fi
 
   #echo "done"
 
   i=$(($i+1))
 done
  
*ÀâÌÀ [#ga197188]
**ÀßÄê²Õ½ê [#sd65029e]
-''LIST_IP''¤Ë¡¢´Æ»ë¤¹¤ëüËö¤ÎIP¥¢¥É¥ì¥¹¤òÎóµó¤·¤Þ¤¹¡£
-''LIST_MAIL''¤Ë¡¢¥ì¥Ý¡¼¥È¤ÎÁ÷¿®À襢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£
-''RET_MAIL''¤Ë¡¢ÊÖ¿®À襢¥É¥ì¥¹¤ò»ØÄꤷ¤Þ¤¹¡£ÊÖ¿®¤·¤Æ¤âưºî¤ËÁ´¤¯±Æ¶ÁÍ­¤ê¤Þ¤»¤ó¡£


**ÀßÄê²Õ½ê¡Ê¥ì¥Ý¡¼¥ÈÆâÍÆ¡Ë [#b33b9493]
''_SEND_REPORT_ALIVE''¤È''_SEND_REPORT_ALIVE''´Ø¿ô¤Ë¡¢¤½¤ì¤¾¤ì¥á¡¼¥ëËÜʸ¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡£
	env - $C_SENDMAIL -f${RET_MAIL} << EOF
 To: $LIST_MAIL
 From: ServerRepor <>
 Subject: $BUF_NAME is DEAD!
 
 $BUF_DATE
 $BUF_NAME ($1) is dead!
 
 ---
 $SIG_MESSAGE
 EOF

''$BUF_DATE''¤Ï¸½ºß¤ÎÆü»þ¡¢''$BUF_NAME''¤ÏüËö¤Î̾Á°¡Ê¤³¤³¤Ç¤Ïdnsname¤òÍѤ¤¤ÆIP¥¢¥É¥ì¥¹¤«¤é¼«Æ°Åª¤ËµÕ°ú¤­¤·¤¿Ì¾Á°¤¬Æþ¤Ã¤Æ¤¤¤Þ¤¹¡Ë¡¢$1¤Ë¤ÏIP¥¢¥É¥ì¥¹¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Å¬Åö¤ËËÜʸ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò½ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£

RIGHT:2008-09-14 (Æü) 09:30:31
----
[[Solaris Administrator]]
¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS