[shellscript] 일정 주기마다 동일한 명령을 계속 실행

이 기사에서 소개하는 것



일정주기마다 임의의 커멘드를 실행해, 그 실행 결과를 표준 출력하는 스크립트입니다.

ksh로 썼기 때문에 bash로 움직일지 모르겠습니다.
(아마 움직이지 않는다)

어떤 장면에서 사용합니까? 내가 사용한 구체적인 예



・시스템 환경내에서 NTP(조시하기 위한 데몬)로 DB 서버, AP 서버등의 시각이 동기화되는 것을 육안 확인하는데 편리했습니다.

코드



date_every_second.sh
#!/usr/bin/ksh

count=0

while true
do

echo '==============='
echo "DATE: `date`"

# このあたりで好きなコマンドを実行する

let "count=count + 1"
echo "count: ${count}"

sleep 1

done

・기동할 때에 파이프로 tee 커멘드를 붙이면 로그 취할 수도 있습니다.

표준 출력을 로깅하려는 명령
./date_every_second.sh | tee <ログ名>

다음은 명령의 출력 예입니다.

출력 예
$ ./date_every_second.sh
===============
DATE: 2020年  7月 20日 月曜日 02:50:19 JST
count: 1
===============
DATE: 2020年  7月 20日 月曜日 02:50:20 JST
count: 2
===============
DATE: 2020年  7月 20日 月曜日 02:50:21 JST
count: 3


소스 코드는 여기에도 있습니다.
htps : // 기주 b. 코 m / まささ s / ぇ


그 외



GitHub : htps : // 기주 b. 코m/마사 s
Twitter : kjm@DB 서버 htps : // 라고 해서 r. 코m/kj53192539

좋은 웹페이지 즐겨찾기