값이 변경되었는지 확인하기 위해 bash 스크립트를 지속적으로 실행하는 방법은 무엇입니까?

값이 변경되었는지 확인하기 위해 bash 스크립트를 지속적으로 실행하는 방법은 무엇입니까?

getAnalytics.php호출 시 특정 정수 값을 반환하는 PHP 스크립트가 있습니다 . getAnalytics.php반환된 값이 변경되었는지 확인하기 위해 30초마다 PHP 확인 스크립트를 지속적으로 실행하는 bash 스크립트를 호출할 수 있기를 원합니다 .

어떻게 해야 하나요? 아니면 다른 접근 방식을 추천하시겠습니까?

답변1

가능한 변경 사항에 대한 알림을 받을 수 있는 더 나은 표시(일부 로그 파일을 보는 것과 같은)가 없다면 bash에서 무한 반복하면 됩니다.

res=
while [ 1 ] ; do
   old_result=$res
   res=$(/path/to/getAnalytics.php)
   echo "result: $res"
   if [ "$old_result" != "$res" ]; then
     echo "result has changed"
   fi
   sleep 30
done

종료하려면 Ctrl+가 필요합니다 . C스크립트가 인쇄하는 특정 값(예: 42)에서 종료하려면 res시작 부분에 더미 값을 설정한 다음 테스트하세요.[ "$res" != "42" ]

답변2

실행 간격을 1분으로 완화할 수 있는 경우 cron 항목을 통해 쉽게 수행할 수 있습니다. 이 프로세스의 장점은 프로그램이 단순히 유휴 상태(잠재적으로 종료되어)로 인해 일부 데이터나 창을 놓치게 되는 일이 없다는 것입니다. 재부팅 사이에 시작하는 데 필요한 특별한 단계도 없습니다.

관련 정보