고정된 간격 후에 실행되도록 예약할 수 있는 스크립트를 작성하여 스크립트가 실행될 때마다 .txt라는 다른 파일의 생성 타임스탬프를 확인하고 싶습니다 HOSTNAME_FA.lck
. If.it는 (creation timestamp - current timestamp) > 5 Minutes
또 다른 핑 테스트를 실행합니다.
예: 스크립트 이름: checkFailedNodes.sh
생성 타임스탬프 이후 5분이 지났는지 확인해야 하는 파일:Hostname_FA.lck
checkFailedNodes.sh
실행 후 파일 생성 후 5분이 경과한 것으로 확인되면 스크립트 checkFailedNodes.sh
는 ICMP 핑을 사용하여 노드(HOSTNAME)를 다시 테스트합니다.
가장 좋은 접근 방식은 무엇입니까?
답변1
여기에는 몇 가지 문제가 있으므로 분리해 보겠습니다.
정기적으로 실행되도록 예약된 스크립트가 필요합니다. 그것이 cron
목적입니다. 예를 들어 /path/to/script.sh
5분마다 실행 하려면 다음 cron
테이블 항목을 추가하세요.
*/5 * * * * /path/to/script.sh >> /var/log/myscript.log 2>&1
최근 수정된 파일 찾기N몇 분 전에 -mmin
.N=5:
find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5
발견된 각 파일에 대해 스크립트를 실행하려면 다음을 수행하십시오.
find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5 -exec /path/to/otherscript.sh {} \;
매직 토큰 {}
파일 이름이 파일 이름으로 대체되므로 파일의 내용이나 파일 이름을 보고 적절한 조치를 취하도록 스크립트를 설계할 수 있습니다.