go如何实现windows系统下的文件修改监控?

269 views
Skip to first unread message

teemo

unread,
Mar 29, 2012, 5:18:49 AM3/29/12
to golang...@googlegroups.com
首先恭喜go1终于出来了!!!

需求是 windows2003,监控某些目录下指定扩展名文件是否被修改,并将修改或替换的时间等信息写入文本日志。
利用go本身的库实现有可能吗?如何下手?求教?

--
nameisports.com 纳美运动健身.

328.png

平民四月份

unread,
Mar 29, 2012, 5:20:25 AM3/29/12
to golang...@googlegroups.com
居然有人跟我问了同样的问题,以前有一个inotify的包,现在没了,不知道移到哪儿了

2012/3/29 teemo <opy...@gmail.com>

--
来自: Golang-China ~ 中文Go语言技术邮件列表
详情: http://groups.google.com/group/golang-china
官网: http://golang-china.org/
IRC: irc.freenode.net #golang-china
@golangchina



--
 Face the sea, for the spring flowers blossoming




328.png

斧头

unread,
Mar 29, 2012, 5:24:24 AM3/29/12
to golang-china
前面有人好象讨论过,最后推荐用python实现的一个软件叫runit.
--------------
斧头
>居然有人跟我问了同样的问题,以前有一个inotify的包,现在没了,不知道移到哪儿了
>
>2012/3/29 teemo <opy...@gmail.com>
>
>> 首先恭喜go1终于出来了[?]!!!
>>
>> 需求是 windows2003,监控某些目录下指定扩展名文件是否被修改,并将修改或替换的时间等信息写入文本日志。
>> 利用go本身的库实现有可能吗?如何下手?求教?
>>
>> --
>> nameisports.com <http://www.nameisports.com/> 纳美运动健身.

teemo

unread,
Mar 29, 2012, 5:25:59 AM3/29/12
to golang...@googlegroups.com
现实需求呀,网站里有文件内容离奇的变换了,觉得程序有漏洞,又找不到,日志也没踪影,本想用Python,但觉得go的编译后运行还是有优势的。
nameisports.com 纳美运动健身.

328.png

斧头

unread,
Mar 29, 2012, 5:29:28 AM3/29/12
to golang-china
这个需要操作系统本身的hook才行,但好象GO的os或者sys里都没有实现类似的hook。
是这样吧大侠们?
--------------
斧头
>现实需求呀,网站里有文件内容离奇的变换了,觉得程序有漏洞,又找不到,日志也没踪影,本想用Python,但觉得go的编译后运行还是有优势的。
>
>在 2012年3月29日 下午5:20,平民四月份 <lew...@gmail.com>写道:
>
>> 居然有人跟我问了同样的问题,以前有一个inotify的包,现在没了,不知道移到哪儿了
>>
>> 2012/3/29 teemo <opy...@gmail.com>
>>
>>> 首先恭喜go1终于出来了[?]!!!
>>>
>>> 需求是 windows2003,监控某些目录下指定扩展名文件是否被修改,并将修改或替换的时间等信息写入文本日志。
>>> 利用go本身的库实现有可能吗?如何下手?求教?
>>>
>>> --
>>> nameisports.com <http://www.nameisports.com/> 纳美运动健身.
>>>
>>> --
>>> 来自: Golang-China ~ 中文Go语言技术邮件列表
>>> 详情: http://groups.google.com/group/golang-china
>>> 官网: http://golang-china.org/
>>> IRC: irc.freenode.net #golang-china
>>> @golangchina
>>>
>>
>>
>>
>> --
>> Face the sea, for the spring flowers blossoming
>>
>>
>>
>>
>> --
>> 来自: Golang-China ~ 中文Go语言技术邮件列表
>> 详情: http://groups.google.com/group/golang-china
>> 官网: http://golang-china.org/
>> IRC: irc.freenode.net #golang-china
>> @golangchina
>>
>
>
>
>--
>nameisports.com <http://www.nameisports.com/> 纳美运动健身.

minux

unread,
Mar 29, 2012, 6:04:17 AM3/29/12
to golang...@googlegroups.com

2012/3/29 teemo <opy...@gmail.com>

需求是 windows2003,监控某些目录下指定扩展名文件是否被修改,并将修改或替换的时间等信息写入文本日志。
利用go本身的库实现有可能吗?如何下手?求教?

Dang Allen

unread,
Mar 29, 2012, 6:45:47 AM3/29/12
to golang...@googlegroups.com
这很容易解决,无非调用Windows的API就好了。如果你知道如何用C/C++解决,那么用Go的syscall就可以搞定,完全没必要再绕一遍去用python。

Google一下很容易就可以找到相关的Windows API,比如”FindFirstChangeNotification“。

lihui

unread,
Mar 29, 2012, 7:11:38 AM3/29/12
to golang...@googlegroups.com
exp/winfsnotify 下有,那个不满足需求吗?

ps:我没有尝试过。

斧头哥哥

unread,
Mar 29, 2012, 7:57:13 AM3/29/12
to golang...@googlegroups.com
对呀,怎么没想起来,可以用cgo然后直接调windows的API嘿嘿

斧头哥哥

unread,
Mar 31, 2012, 1:58:40 AM3/31/12
to golang...@googlegroups.com

Github上找到一个例子

https://github.com/howeyc/fsnotify

 

 

From: golang...@googlegroups.com [mailto:golang...@googlegroups.com] On Behalf Of lihui


Sent: Thursday, March 29, 2012 7:12 PM
To: golang...@googlegroups.com

如何实现windows系统下的文件修改监控?

teemo

unread,
Mar 31, 2012, 3:16:51 AM3/31/12
to golang...@googlegroups.com
好心人!谢谢了
nameisports.com 纳美运动健身.

Reply all
Reply to author
Forward
0 new messages