본문 바로가기

OS/Linux

반복해서 명령어 자동 실행

반응형

스크립트
auto_cmd.sh

#!/bin/sh

CMD="$1"
CMD2="$2"
while [ 1 ]; do
eval $CMD
sleep $CMD2
done

=================================
실행

auto_cmd.sh "명령어"  반복주기(초)

ex) auto_cmd.sh "ls -al" 60      
: 60초 마다 ls -al 명령어 수행한 결과를 보여준다.


아래는 매 시간 마다 실행이 되고, 날짜가 변경 될 경우 처리하는 소스이다.


#!/sbin/sh

CMD="$1"
CMD2="$2"
CMD3="$3"

DATE1=`date +%d`

while [ 1 ]; do

NOWDATE1=`date +%d`

#change date check
if [ "$DATE1" != "$NOWDATE1" ]; then
 DATE1=$NOWDATE1
 cat ./monitor.txt >> ./monitor_backup.txt
 rm -rf ./monitor.txt
fi

DATEMM=`date +%M`

# xx hour 1min write log
if [ "$DATEMM" = "01" ]; then
 eval $CMD
 eval $CMD2
fi

sleep $CMD3

done

실행


auto_cmd.sh "date >> monitor.txt" "vmstat >> monitor.txt" 60

1번째 인자 : 현재 시간을 모니터.텍스트 파일로 저장
2번째 인자 : 서버 상태를 모니터.텍스트 파일로 저장
3번째 인자 : 60초 주기로 스크립트를 반복

반응형
댓글