社区
进程/线程/DLL
帖子详情
似乎inotify不适用于NFS.是否有支持inotify的网络文件系统的ReadDirectoryChangesW函数?
wujun_2015
2021-01-20 11:40:20
似乎inotify不适用于NFS.是否有支持inotify的网络文件系统的ReadDirectoryChangesW函数
...全文
247
3
打赏
收藏
似乎inotify不适用于NFS.是否有支持inotify的网络文件系统的ReadDirectoryChangesW函数?
似乎inotify不适用于NFS.是否有支持inotify的网络文件系统的ReadDirectoryChangesW函数
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wujun_2015
2021-01-21
打赏
举报
回复
贴上代码如下,问题是:在平常的windows目录下可以正常监视到文件增加等信息,但对NFS mount到本机的Z:盘文件夹的资料无法监控到任何信息, 但是查看NFS mount的Z:盘中的文件是可以看到的,不知道是否与Z:权限有关,现在是只读的. UINT TestThread(LPVOID lparam) { CMyTestDlg * dlg = (CMyTestDlg*)lparam; HANDLE hDir; char notify[1024]=""; DWORD cbBytes;//,i; char AnsiChar[3]=""; wchar_t UnicodeChar[2]=L""; CString path; FILE_NOTIFY_INFORMATION *pnotify=(FILE_NOTIFY_INFORMATION *)notify; FILE_NOTIFY_INFORMATION *tmp=NULL; //GetCurrentDirectory(MAX_PATH,path.GetBuffer(MAX_PATH+1)); path=dlg->m_strFilePath;//"D:\\Test"; hDir = CreateFile( path, FILE_LIST_DIRECTORY, FILE_SHARE_READ| FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, NULL); if (hDir == INVALID_HANDLE_VALUE) { dlg->m_edit.ReplaceSel("hDir:INVALID_HANDLE_VALUE\r\n"); return 0; } dlg->m_edit.ReplaceSel("Begin to monitor "); dlg->m_edit.ReplaceSel(path); dlg->m_edit.ReplaceSel("\r\n"); while (TRUE) { if(ReadDirectoryChangesW(hDir, ¬ify, sizeof(notify), TRUE, FILE_NOTIFY_CHANGE_FILE_NAME| FILE_NOTIFY_CHANGE_FILE_NAME| FILE_NOTIFY_CHANGE_LAST_WRITE|FILE_NOTIFY_CHANGE_CREATION, &cbBytes, NULL, NULL)) { tmp = pnotify; if(FILE_ACTION_ADDED==tmp->Action) { CString szFileName(tmp->FileName, tmp->FileNameLength/sizeof(wchar_t)); CString sTmp(path); //sTmp+="\\"; sTmp+=szFileName; sTmp+=" file be added\r\n"; dlg->m_edit.ReplaceSel(sTmp); } } } return 0; }
helloword78
2021-12-18
举报
回复
@wujun_2015
楼主找到解决方案了吗
wujun_2015
2021-01-21
打赏
举报
回复
版主,能否看看
inotify
-tools-3.14.tar.gz工具源码包
Inotify
是一种强大的、细粒度的、异步的
文件系统
事件监控机制, linux内核从 2.6.13起,加入了
Inotify
支持
,通过
Inotify
可以监控
文件系统
中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控
文件系统
下文件的各种变化情况,而
inotify
-tools正是实施这样监控的软件。国人周洋在金山公司开发的sersync。
Inotify
实际是一种事件驱动机制,它为应用程序监控
文件系统
事件提供了实时响应事件的机制,而无须通过诸如cron等的轮询机制来获取事件。cron 等机制不仅无法做到实时性,而且消耗大量系统资源。相比之下,
inotify
基于事件驱动,可以做到对事件处理的实时响应,也没有轮询造成的系统资源消耗,是非常自然的事件通知接口,也与自然世界的事件机制相符合。
inotify
-tools-3.14.tar.gz+linux文件同步软件(含安装方法和同步脚本)
Inotify
是一种强大的、细粒度的、异步的
文件系统
事件监控机制, linux内核从 2.6.13起,加入了
Inotify
支持
,通过
Inotify
可以监控
文件系统
中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控
文件系统
下文件的各种变化情况,而
inotify
-tools正是实施这样监控的软件。国人周洋在金山公司开发的sersync。
Inotify
实际是一种事件驱动机制,它为应用程序监控
文件系统
事件提供了实时响应事件的机制,而无须通过诸如cron等的轮询机制来获取事件。cron 等机制不仅无法做到实时性,而且消耗大量系统资源。相比之下,
inotify
基于事件驱动,可以做到对事件处理的实时响应,也没有轮询造成的系统资源消耗,是非常自然的事件通知接口,也与自然世界的事件机制相符合。
MySQL 高可用工具 DRBD 实战部署详解
Re: MySQL 高可用工具 DRBD 实战部署详解 ========================================# DRBD 是什么(用三句话总结) 目的:类似于 rsync +
inotify
数据目录(/data)变化时,实现数据同步 功能:类似于本地磁盘阵列 raid-1,保持磁盘或者分区的一致性,但最终的目的是(/data)数据目录的一致性。 原理:类似于MySQL的主从复制,一份写在磁盘中,一份写在二进制日志中;DRBD原理也是一份写在磁盘中,另一份通过DRBD软件,经过tcp/ip协议,基于block变化,传输到远程磁盘中做记录。 # DRBD 的功能 Distributed Replicated Block Divice(缩略:DRBD)(分布式复制块设备) 基于高可用 HA 服务器之间的数据同步解决方案 基于块设备在不同的高可用服务器之间同步和镜像数据的软件,通过它可以实现在
网络
中的两台服务器之间基于“块”(block)设备级别的实时或异步镜像或同步复制(【原理】:类似MySQL主从复制) # DRBD 的目的 类似于DRBD ≈(rsync +
inotify
)的架构:单
inotify
基于
文件系统
‘上层’,当
文件系统
中有数据发生变化,就调用 rsync 服务,将
文件系统
中的文件同步到备库。 但是DRBD是基于
文件系统
底层(主要区别),即 block 块级别的更‘底层’,而
inotify
是在
文件系统
之上的实际物理文件(文件复制),因此DRBD效率更高(类似克隆方式 GHOST 克隆软件)! 相对而言:(rsync +
inotify
)工作原理(效率低...)... # DRBD 的应用 heartbeat + DRBD +
nfs
/mfs/gfs 下章演示... heartbeat + DRBD + mysql 本章演示... heartbeat + DRBD + oracle 甚至放弃 Oracle 原厂 RAC + DataGuard 等标配 HA方案
inotify
-tools-3.14.tar.gz 亲测有效!
inotify
-tools-3.14.tar.gz新测有效!欢迎使用
inotify
-tools-3.14.tar.gz,只卖2积分,良心价。
inotify
-tools-3.14.tar.gz
Inotify
+Rsync实现linux文件实时同步
inotify
-tools-3.14.tar.gz
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章