리눅스 고수분들이야 필요없겠지만 초보자분들을 위해 간단한 팁하나.
저는 모니터링 명령어 몇개를 쓰고 있는데요.. htop, iptraf, iftop 등등...
명령어를 자주 사용하지 않으면 잊어버리게 되네요
그래서 모니터링 명령어 몇개를 하나의 명령어로 메뉴형식으로 만들어 봤습니다.
보다보면 응용 가능할거에요..
mon 이라고 치면 아래와 같이 나와서 선택만 하면 됩니다.
[KWSPOGO:root:/usr/bin] mon
1.htop
2.iotop
3.iptraf
4.iftop
5.nethogs
x or q to exit.
Select :
프로그램 하시는 분들은 간단하게 만들수 있겠지만 저같은 경우는 쉘스크립트를 이용했습니다.
우선 vi 나 nano 로 /usr/bin/mon 을 생성 합니다.
아래 스크립트를 입력 합니다.
---------------------------
#!/bin/sh
cmds="htop iotop iptraf iftop nethogs" #명령어종류 (등록하고싶은 명령어 등록)
while true #무한반복
do
cnt=0
echo ""
for cmd in $cmds ; do #명령어 뿌려주기
cnt=`expr ${cnt} + 1`
echo "$cnt.$cmd"
done
echo "\nx or q to exit."
echo -n "\nSelect : "
read appno
case "$appno" in # x나 q를 누르면 종료
x|q) exit ;;
"") continue
esac
cnt=0
for cmd in $cmds ; do #해당 번호의 명령을 실행
cnt=`expr ${cnt} + 1`
if [ ${cnt} = ${appno} ]
then
$cmd
break
fi
done
done
# ------------------- 여기까지 --------------
권한을 변경합니다.
chmod 755 /usr/bin/mon
간단하죠?
---------------------------- 내용 추가 --------------------
명령어에 공백 포함시(service samba restart 같은 매개변수가 있을때) 가능하도록 스크립트를 바꿔봤습니다.
우선 실행하면
[KWSPOGO:root:/usr/bin] mon
1.htop
2.iotop
3.iptraf
4.iftop
5.nethogs
6.service samba restart
7.service cron restart
x or q to exit.
Select : 6
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
스크립트내용은
#!/bin/sh
cmds="htop,iotop,iptraf,iftop,nethogs,service samba restart,service cron restart" #명령어 종류:명령어구분은 콤마(,) 로
cmds=`echo $cmds | sed -e 's/ /_/g'` #공백을 (_) 로 치환 (치환문자는 적절히 선택)
cmds=`echo $cmds | sed -e 's/,/ /g'` #콤마(,)를 공백으로 치환
while true #무한반복
do
cnt=0
echo ""
for cmd in $cmds ; do #명령어 뿌려주기
cnt=`expr ${cnt} + 1`
cmd=`echo $cmd | sed -e 's/_/ /g'` #다시 _를 공백으로 치환해서 뿌려줌
echo "$cnt.$cmd"
done
echo "\nx or q to exit."
echo -n "\nSelect : "
read appno
echo ""
case "$appno" in # x나 q를 누르면 종료
x|q) exit ;;
"") continue
esac
cnt=0
for cmd in $cmds ; do #해당 번호의 명령을 실행
cnt=`expr ${cnt} + 1`
if [ ${cnt} = ${appno} ]
then
cmd=`echo $cmd | sed -e 's/_/ /g'`
$cmd
break
fi
done
done
#--- 끝.
'UNIX&LINUX > 쉘스크립트' 카테고리의 다른 글
쉘스크립트 기본 if문 (0) | 2014.07.14 |
---|---|
쉘스크립트 기본 for문 (0) | 2014.07.14 |
쉘스크립트 기본 case문 select문 (0) | 2014.07.14 |
쉘스크립트 기본 while문 until문 (0) | 2014.07.14 |
쉘스크립트 기초 (0) | 2014.07.14 |
Class file : createNewFile (0) | 2014.06.05 |
쉘스크립트 참조 블로그 (0) | 2014.05.16 |
BASH 쉘스크립트 기초 - 변수 & 연산 (0) | 2014.05.13 |