충돌 로그가있는 디렉토리가 있고 find 명령을 기반으로 bash 스크립트에서 조건문을 사용하고 싶습니다.
로그 파일은 다음 형식으로 저장됩니다.
/var/log/crashes/app-2012-08-28.log
/var/log/crashes/otherapp-2012-08-28.log
지난 5 분 동안 수정 된 특정 앱에 대한 충돌 로그가있는 경우 if 문이 true를 반환하기를 원합니다. find
내가 사용하는 것이 명령은 다음과 같습니다
find /var/log/crashes -name app-\*\.log -mmin -5
나는 그것을 if
올바르게 진술 에 통합하는 방법을 모르겠습니다 . 나는 이것이 효과가 있다고 생각한다.
if [ test `find /var/log/crashes -name app-\*\.log -mmin -5` ] then
service myapp restart
fi
확실하지 않은 몇 가지 영역이 있습니다.
... -exec command ';' -quit
있지만 결과를 구문 분석하는 것 이외의 솔루션은 있다고 생각하지 않습니다. 또한 두 경우 모두 결과를 구문 분석 할 때 발생하는 주요 문제 find
(예 : 파일 이름의 문자와 구분 기호를 구분할 수 없음)는 적용되지 않습니다. 이러한 경우 구분 기호를 찾을 필요가 없습니다.
find ... -exec
입니다. 또한 find의 출력이 루프 출력에 좋지 않은 이유는 무엇입니까?