You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2微集成器集群配置rsync同步时遇节点路径未找到错误

解决WSO2 MI集群Rsync同步时nodes-list.txt路径找不到的错误

问题分析

错误提示显示nodes-list.txt中的两行路径被当作命令执行但找不到,核心原因是路径格式错误或脚本读取nodes-list.txt的方式错误,同时cron表达式格式也存在问题。

修复步骤

1. 修正nodes-list.txt的路径格式

  • 去掉路径前的~:~代表执行用户的家目录,用root用户执行时,~/home/ubuntu/...会解析为/root/home/ubuntu/...,这是无效路径。直接使用绝对路径:
    root@<my_server_ip1>:/home/ubuntu/mi/wso2mi_server1-4.0.0/repository/deployment/server
    root@<my_server_ip2>:/home/ubuntu/mi/wso2mi_server2-4.0.0/repository/deployment/server
    
  • 确保每行仅包含一个远程节点的同步路径,无多余空格或特殊字符。

2. 检查rsync脚本的读取逻辑

打开rsync-for-ei-depsync.sh,确认脚本是读取nodes-list.txt的内容而非执行它。正确的读取方式示例:

#!/bin/sh
# 替换为当前节点的本地同步目录路径
LOCAL_PATH="/home/ubuntu/mi/wso2mi_serverX-4.0.0/repository/deployment/server"
NODE_LIST="/home/ubuntu/setup/rsync-for-depsync/nodes-list.txt"

while read -r REMOTE_PATH; do
    # 跳过空行或注释行
    [ -z "$REMOTE_PATH" ] || [ "${REMOTE_PATH:0:1}" = "#" ] && continue
    rsync -avz --delete "$LOCAL_PATH/" "$REMOTE_PATH/"
done < "$NODE_LIST"

如果脚本中存在source nodes-list.txt或./nodes-list.txt这类执行文件的命令,直接删除替换为上述循环读取逻辑。

3. 修正cron表达式格式

cron的标准格式为分 时 日 月 周 命令,你提供的表达式格式混乱,示例(每分钟执行一次):

* * * * * /bin/sh /home/ubuntu/setup/rsync-for-depsync/rsync-for-ei-depsync.sh >> /var/log/rsync-mi-sync.log 2>&1
  • 指定/bin/sh的绝对路径,避免cron环境变量缺失导致找不到命令;
  • 追加日志输出方便后续排查问题。

4. 验证远程节点路径的存在性

分别登录两个MI节点的root用户,执行以下命令确认路径存在:

ls /home/ubuntu/mi/wso2mi_server1-4.0.0/repository/deployment/server
ls /home/ubuntu/mi/wso2mi_server2-4.0.0/repository/deployment/server

若路径不存在,创建对应目录或修正路径为实际部署路径。

内容的提问来源于stack exchange,提问作者ahinsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:32:31