我正在开发一个小型的内部替代 Tripwire,所以我编写了一个小脚本来散列 JBoss EAP 服务器中的文件,并将路径和散列存储在 MySQL 数据库中。
脚本每天都会将文件系统中的哈希值与数据库中保存的哈希值进行比较,因此任何更改都会被记录并最终使用 JasperServer 进行报告。
该脚本在晚上使用 cron 运行,以避免大量脚本在执行有趣的事情之前同时使用 time.sleep(RANDOM_NUMBER_OF_SECONDS) 来查询数据库,但有时 time.sleep 似乎永远处于休眠状态并且脚本结束时没有任何错误,我检查邮件 cron 发送并且没有记录错误。任何帮助,将不胜感激。我正在使用 jython-standalone-2.5.3、IBM 的 JDK 和在 VMWare 中运行的 RHEL 5.6。
我刚刚发现http://bugs.jython.org/issue1974并且代码注释似乎指出操作系统信号可能导致这种行为,但不确定这是否是我的情况。
如果您想在http://code.google.com/p/pysnapshot/上查看代码结帐
路易斯·加西亚·布斯托斯。