저는 Tripwire에 대한 대안을 개발하고 있습니다. 그래서 작은 스크립트를 코딩하여 JBoss EAP 서버에서 파일을 해시하고 경로와 해시를 MySQL에 저장합니다 데이터 베이스.자이 썬 2.5.3 및 time.sleep
매일 스크립트는 파일 시스템의 해시와 DB에 저장된 해시를 비교하므로 변경 사항이 기록되고 마지막으로 JasperServer를 사용하여보고됩니다.
스크립트는 밤에 cron을 사용하여 실행되므로 재미있는 작업을 수행하기 전에 time.sleep (RANDOM_NUMBER_OF_SECONDS)을 사용하는 동시에 많은 양의 스크립트를 DB에 저장하지 않아도되지만 때로는 time.sleep이 영원히 잠을 잘 수 있습니다. 스크립트는 오류없이 끝나고, 나는 cron send 메일을 체크하고 어떤 에러도 기록되지 않는다. 어떤 도움을 주시면 감사하겠습니다. 저는 jython-standalone-2.5.3, IBM의 JDK 및 VMWare에서 실행되는 RHEL 5.6을 사용하고 있습니다.
방금 http://bugs.jython.org/issue1974을 찾았습니다. 코드 주석은 OS 신호가이 동작을 일으킬 수 있다고 지적하지만 이것이 내 경우인지는 확실하지 않습니다.
당신이 http://code.google.com/p/pysnapshot/
루이스 가르시아 부스 토스에서 코드를 체크 아웃을보고 싶다면
.
안녕하세요! 당신은 맞습니다. time.sleep을 사용합니다. 왜냐하면 MySQL은 100+ 서버에서 실행되는로드를 처리 할 수 없기 때문에 모든 스크립트를 동시에 (일괄 처리 창에서) 시작하고 트랜잭션을 사용하기 때문에 - 왜냐하면 " 부분 스냅 샷 "은 무결성 검사 목적으로는 쓸모가 없습니다. MySQL은 간단히 처리 할 수 없으며 트랜잭션이 중단되기 시작합니다. 따라서 복구를 위해 일종의"지수 적 백 오프 "를 사용합니다. 주요 문제는 작업을 다시 시도하기 전에 스크립트를 대기 (time.sleep 사용) 할 때 일어나지 않는 것입니다. 나는 스레딩을 전혀 사용하지 않고있다. – user1877237
몇 개의 스크립트를 시작합니까? 그들은 동일한 MySQL 서버를 사용합니까? 하나의 파일 시스템을 확인합니까? 한 스크립트를 시작하여 다른 디렉토리 (긴 명령 행 또는 구성 파일) 다음에 하나의 디렉토리를 확인하십시오. –