crontab에 등록하였으나, 제대로 된 실행이 안 됩니다.
글쓴이: dnagod / 작성시간: 화, 2010/02/02 - 10:28오전
매 시간 CPU 사용량과 Disk 용량을 알고 싶다기에 다음과 같이 crontab를 등록하였습니다.
- 크론탭 내용 -
# CPU, Disk Check
0 0-23 * * * /usr/hongsh/cpucheck.sh >> /usr/hongsh/result.txt
- cpucheck.sh 내용 -
#/bin/bash
echo ----------------------------------------------------------------------------------
date
top | grep states
df -h | grep data
echo ----------------------------------------------------------------------------------
echo
다음과 같은데요. 이상하게 top | grep cpu states 이 명령이 안 찍혀 나오네요...;; (Disk 사용률을 잘 찍힘.)
crontab이 아니라, 제가 shell script를 직접 실행하면 찍혀 나옵니다...ㅡㅡ;;
crontab으로는 top | grep cpu states이 안 찍혀 나오니, vmstat으로 CPU사용률을 확인하고 있습니다만,
top | grep cpu states가 안되는 이유라도 알고 싶습니다.
아시는 분 답변 부탁드릴께요~~
Forums:
top
top은 그냥 실행하면 프로그램이 안 끝나지 않나요? 쉘 스크립트에서 top | grep 했을 때 프로그램이 종료되고 프롬프트가 다시 떨어지나요?
top도 여러 종류가 있습니다만, procps에 포함된 top(대부분의 리눅스)의 경우는 -n 옵션으로 몇 번 반복하고 프로그램을 끝낼지 지정할 수 있습니다. top -n 1 | grep 처럼 해보세요.
네 top | grep 하면
네 top | grep 하면 프로그램 종료되고 프롬프트가 뜨더라구요.. ;;
난세에 태어나...
자세히?
제 컴퓨터에서는 끝나지 않는데, 결과가 다른 것을 보니 정확히 어떻게 실행하고 계신지 설명이 더 필요할 듯 합니다.
Solaris를 쓰고
Solaris를 쓰고 있습니다. 그래서 실행이 되는 것 같습니다. 밑에 답글들을 보니...
난세에 태어나...
top -n 1 로 하세요
스크립트를 실행하면 되는지가 의문이네요
top | grep cpu states
top | grep cpu states 만으로도 실행이 됩니다. ^^
top -n 1 | grep cpu states도 실행이 되구요.
단 둘다 크론탭으로는 안 찍히네요..ㅡㅜ
난세에 태어나...
음...
OS 나 버전에 따라 동작이 조금 다릅니다.
solaris 같은 경우에는 top 의 결과를 pipe 로 날리면 실행후 종료됩니다.
top 의 경로가 /bin 이나 /sbin 과 같은 시스템 바이너리가 아닌 경우라면..
별도로 path 를 지정해 주어야 합니다.
stderr 도 파일로 redirect 하거나, syslog 로 cron 의 debug 로그를 찍어 보면..
좀 더 문제를 찾을 가능성이 높아질 것 같네요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
네, Solaris를 쓰고
네, Solaris를 쓰고 있어서 그런지 종료가 되네요~ 일단 조언해주신데로 수정을 해봐야겠습니다.
감사합니다. ^^
난세에 태어나...
top에 -b 옵션을 사용하시면 됩니다.
top에 -b 옵션을 사용하시면 됩니다.
댓글 달기