想监视文件读写,是不是要自己开发?有没有相关的库?
已经解决,看4楼。
inotify使用
[已解决] inotify 用法 ,如何监视文件读写操作,实时打印当前被读写的文件。
- sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
- 联系:
[已解决] inotify 用法 ,如何监视文件读写操作,实时打印当前被读写的文件。
上次由 sevk 在 2008-12-12 9:50,总共编辑 4 次。
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
- luojie-dune
- 帖子: 22033
- 注册时间: 2007-07-30 18:28
- 系统: Linux
- 来自: 空气中
- sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
- 联系:
Re: 如何监视文件写入操作,实时打印当前被写入的文件。
谢谢EE.
inotify 的监视
inotify 监视
Ruby 脚本代码 http://raa.ruby-lang.org/project/ruby-inotify/
下载ruby-inotify后,老套路:这样就成生inotify.so并安装好了.
其实只要make就有inotify.so了,复制inotify.so到同一目录就能使用.
或者 sudo aptitude install libinotify-ruby1.9.1 也行
使用方法:(这里用来监视/bin目录)
开个终端执行ls就会有反应了.
简单吧
我修改了一下 examples/watcher.rb :
很好用 
inotify 的监视
inotify 监视
Ruby 脚本代码 http://raa.ruby-lang.org/project/ruby-inotify/
下载ruby-inotify后,老套路:
代码: 全选
ruby extconf.rb
make
sudo make install
其实只要make就有inotify.so了,复制inotify.so到同一目录就能使用.
或者 sudo aptitude install libinotify-ruby1.9.1 也行
使用方法:(这里用来监视/bin目录)
代码: 全选
ruby examples/watcher.rb /bin

我修改了一下 examples/watcher.rb :
代码: 全选
#!/usr/bin/ruby
require 'inotify'
require 'find'
i = Inotify.new
t = Thread.new do
i.each_event do |ev|
puts "#{Time.now}, #{ev.name}, #{ev.mask}"
end
end
raise("Specify a directory") if !ARGV[0]
Find.find(ARGV[0]) do |e|
# next if e != /^\/home\/sevk\/\./
if ['.svn', 'CVS', 'RCS'].include? File.basename(e) or !File.directory? e
Find.prune
else
begin
puts "Adding #{e}"
i.add_watch(e, Inotify::CREATE | Inotify::MODIFY | Inotify::ACCESS)
rescue
puts "Skipping #{e}: #{$!}"
end
end
end
t.join

上次由 sevk 在 2010-09-28 16:37,总共编辑 7 次。
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
- windwiny
- 帖子: 2254
- 注册时间: 2007-03-13 17:26
Re: [已解决]如何监视文件写入操作,实时打印当前被写入的文件。
paco 可以记录修改的,不过他是记录到文件的
- sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
- 联系:
Re: [已解决]如何监视文件写入操作,实时打印当前被写入的文件。
paco 是什么软件啊?windwiny 写了:paco 可以记录修改的,不过他是记录到文件的
上次由 sevk 在 2010-09-28 9:27,总共编辑 1 次。
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
- dwl301
- 帖子: 1131
- 注册时间: 2007-04-14 11:17
Re: [已解决]如何监视文件读写操作,实时打印当前被读写的文件。
改改应该能重定向到屏幕吧
- sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
- 联系:
Re: [已解决]如何监视文件读写操作,实时打印当前被读写的文件。
不用改,默认是输出到屏幕的.
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387