回答
如果你不想安装工具,你可以自己制作。只是一个想法。 使用find
命令创建目录的基线文件。使用循环或cron作业,find
使用相同参数的目录,并根据基线文件检查新文件。使用工具,如diff
,以获得差异..
如
find /path [other options] >> baseline.txt
while true #or use a cron job
do
find /path [same options] >> listing.txt
diff baseline.txt listing.txt
# do processing here...
mv listing.txt baseline.txt # update the baseline.
sleep 60
done
大多数Unix变体对于这样的一个API,但它不规范。在Linux上,有inotify。在命令行上,您可以使用inotifywait
。用例:
inotifywait -m /path/to/dir | while read -r dir event name; do
case $event in
OPEN) echo "The file $name was created or opened (not necessarily for writing)";;
WRITE) echo "The file $name was written to";;
DELETE) echo "The file $name was deleted ";;
esac
done
inotify的事件类型往往不完全是你想要什么通知(例如OPEN很宽),所以如果你最终使自己的文件检查不心疼。
这是正确的答案,因为它显示了如何使用API来监视更改。 ghostdog74的答案可能有用,但它有资源成本。如果你需要监控1000个目录呢? – 2012-05-08 17:17:42
注意:这个答案只适用于使用Linux内核2.6.13或更高版本。不知道其他Unicies。 – 2013-07-17 14:55:42
请您澄清一下* *阅读-r目录事件名称; *做* *? – arod 2013-10-29 23:09:49
- 1. 更改监视器目录
- 2. AIX监视目录更改
- 3. 更改监视目录和子目录
- 4. 目录监控
- 5. kQueue目录监控
- 6. 如何监视Windows目录的更改?
- 7. Tomcat Servlet Jnotify目录监控
- 8. 活动目录监控
- 9. 目录修改监视
- 10. MySql备份/更改监控
- 11. 更改目录
- 12. 更改目录
- 13. 更改目录
- 14. Oracle表更改监视器
- 15. ASP.Net调试目录监控HttpException
- 16. java 7目录监控问题
- 17. 活动目录帐户锁定监控
- 18. 使用ReadDirectoryChangesW监控目录API
- 19. htaccess更改目录
- 20. GetOpenFileName更改目录
- 21. 如何在Mac OS X上监视目录中的更改?
- 22. .Net WMI <Blah>更改事件以监视目录
- 23. Java:在远程Linux服务器上监听目录更改
- 24. 如何监视远程目录和文件的更改?
- 25. forever node.js - 监视目录中的文件更改
- 26. delphi - 监视目录中的文件更改 - 在JCL中实现?
- 27. 监视文件或目录中的更改?
- 28. 如何在Python中监视目录中的更改?
- 29. C#列表框更新项目更改
- 30. 监控页面的更改吗?
仅供我参考 - 做这样的事情存在吗? – siliconpi 2010-10-20 13:02:38
你在说什么“事情”?如果你正在谈论用于这些事情的工具,那么是的。像tripwire,inotify等工具... – ghostdog74 2010-10-20 13:06:56