Symmetric DS v3.8.28文件同步失效问题排查咨询
排查Symmetric DS 3.8.28文件修改同步未触发的问题
我来帮你一步步排查Symmetric DS 3.8.28里文件修改同步没触发的问题——毕竟你已经搞定了初始配置同步和两端文件创建,卡在修改同步这一步大概率是某个细节没到位。
1. 先核对文件触发器的核心配置细节
你已经执行了INSERT INTO sym_file_trigger,但得确认这条记录的关键字段是否正确:
source_base_dir:是不是和你实际放文件的路径完全一致?Linux环境下路径大小写敏感,比如/opt/sync和/Opt/Sync会被认成两个不同路径,这点很容易踩坑。sync_on_modify:必须设为1,这是控制修改文件时触发同步的开关,要是设成0肯定不会动。recurse:如果你的文件在子目录里,得设为1开启递归扫描;单级目录的话0没问题,但也要确保路径匹配。node_group_id:得指定为server(你的源节点组),不然触发器不知道监听哪个节点组的文件变化。
你可以跑这条SQL快速核对:
SELECT source_base_dir, recurse, sync_on_create, sync_on_modify, node_group_id FROM sym_file_trigger;
2. 检查文件路由规则是否配置到位
光有触发器还不够,得给文件同步搭好“路由”,也就是sym_file_route表的记录。这条规则是告诉Symmetric DS,把server组的文件同步到client组。
先查有没有这条路由:
SELECT * FROM sym_file_route WHERE source_node_group_id = 'server' AND target_node_group_id = 'client';
如果查不到结果,就插一条(记得把你的file_trigger_id换成你之前创建的触发器ID):
INSERT INTO sym_file_route (file_route_id, source_node_group_id, target_node_group_id, file_trigger_id, enabled) VALUES ('server_to_client_route', 'server', 'client', '你的file_trigger_id', 1);
3. 验证节点组的关联链路
还要确认server和client节点组之间已经建立了同步链路,也就是sym_node_group_link表的记录:
SELECT * FROM sym_node_group_link WHERE source_node_group_id = 'server' AND target_node_group_id = 'client';
要是没有这条记录,就插一条(data_event_action设为W是双向同步,要是你只需要单向从server到client,设成P也可以):
INSERT INTO sym_node_group_link (node_group_link_id, source_node_group_id, target_node_group_id, data_event_action) VALUES ('server_client_link', 'server', 'client', 'W');
4. 检查服务状态和日志找线索
- 先确认两端的Symmetric DS服务都在正常跑:
- 服务器端执行:
symadmin status -n 你的server节点ID - 客户端执行:
symadmin status -n node_id_client
- 服务器端执行:
- 去服务器端的日志目录(默认是
logs/symmetric.log)搜file sync或者trigger相关的关键词,看看有没有报错——比如Symmetric DS进程有没有读写source_base_dir的权限?或者路径拼写错了导致找不到文件? - 还有个小技巧:有些编辑器保存文件是先删再建,可能导致触发器没捕捉到修改事件,你可以手动更新文件修改时间试试:
touch /你的source_base_dir/文件名.txt,然后看会不会触发同步。
5. 手动触发同步做测试
如果上面的配置都没问题,可以手动触发一次文件同步,验证功能是否正常:
在服务器端执行:
symadmin reload -n 你的server节点ID symadmin sync-file -n 你的server节点ID -f 你的file_trigger_id
然后去客户端的target_dir看看文件有没有更新,同时看日志有没有同步记录。
内容的提问来源于stack exchange,提问作者CoderTest
相关产品推荐
相关产品推荐

