查看当前安装类型

openclaw openclaw中文博客 1

迁移前准备

确认当前安装方式

docker ps | grep openclaw
which openclaw  # 如果是二进制安装

备份重要数据

# 备份配置文件
cp -r /opt/openclaw/config/ /backup/openclaw_config_backup/
# 备份数据文件(如果有)
cp -r /opt/openclaw/data/ /backup/openclaw_data_backup/

不同安装方式的迁移方法

方式1:Docker 安装迁移

# 1. 停止当前容器
docker stop openclaw
# 2. 创建新目录
sudo mkdir -p /new/path/openclaw/{config,data,logs}
# 3. 复制数据到新位置
sudo cp -r /opt/openclaw/config/* /new/path/openclaw/config/
sudo cp -r /opt/openclaw/data/* /new/path/openclaw/data/
# 4. 修改 docker-compose.yml 或启动命令
# 编辑 docker-compose.yml 中的 volumes 映射
# 将 - /opt/openclaw/config:/app/config
# 改为 - /new/path/openclaw/config:/app/config
# 5. 重新启动
docker-compose -f /new/path/openclaw/docker-compose.yml up -d

方式2:二进制文件安装迁移

# 1. 停止服务
sudo systemctl stop openclaw
# 2. 移动程序文件
sudo mv /opt/openclaw /new/path/
# 3. 更新服务文件
sudo vim /etc/systemd/system/openclaw.service
# 修改 ExecStart 和工作目录
# ExecStart=/new/path/openclaw/bin/openclaw
# WorkingDirectory=/new/path/openclaw
# 4. 更新符号链接(如果有)
sudo ln -sf /new/path/openclaw/bin/openclaw /usr/local/bin/openclaw
# 5. 重新加载并启动
sudo systemctl daemon-reload
sudo systemctl start openclaw

方式3:Python 源码安装迁移

# 1. 创建虚拟环境在新位置
cd /new/path
python -m venv openclaw-env
source openclaw-env/bin/activate
# 2. 安装依赖
pip install -r /old/path/requirements.txt
# 3. 复制源码和配置文件
cp -r /old/path/src/ /new/path/openclaw/
cp -r /old/path/config/ /new/path/openclaw/
# 4. 更新环境变量
export OPENCLAW_HOME=/new/path/openclaw
export PYTHONPATH=/new/path/openclaw:$PYTHONPATH
# 5. 修改启动脚本中的路径
sed -i 's|/old/path|/new/path|g' /new/path/openclaw/start.sh

配置文件更新

更新配置文件中的路径引用

# 查找并替换所有旧路径
find /new/path/openclaw -type f -name "*.yml" -o -name "*.yaml" -o -name "*.json" -o -name "*.ini" | xargs sed -i 's|/opt/openclaw|/new/path/openclaw|g'

更新环境配置文件

# 编辑环境文件
vim /new/path/openclaw/.env
# 更新关键路径变量
OPENCLAW_CONFIG_DIR=/new/path/openclaw/config
OPENCLAW_DATA_DIR=/new/path/openclaw/data
OPENCLAW_LOG_DIR=/new/path/openclaw/logs

权限和所有权设置

# 设置正确的权限
sudo chown -R openclaw:openclaw /new/path/openclaw
sudo chmod -R 755 /new/path/openclaw
sudo chmod 644 /new/path/openclaw/config/*.yml

验证迁移

检查路径是否正确

# 检查服务状态
sudo systemctl status openclaw
# 检查文件访问
ls -la /new/path/openclaw/config/
# 测试程序运行
/new/path/openclaw/bin/openclaw --version

验证功能

# 检查日志文件
tail -f /new/path/openclaw/logs/app.log
# 测试API访问(如果有)
curl http://localhost:8080/health

清理旧文件(可选)

确认新位置运行正常后:

查看当前安装类型-第1张图片-OpenClaw 中文版 - 真正能做事的 AI

# 备份旧文件后删除
sudo mv /opt/openclaw /opt/openclaw_old_backup_$(date +%Y%m%d)
# 或直接删除
sudo rm -rf /opt/openclaw

注意事项

  1. 路径一致性:确保所有配置文件中引用的路径都已更新
  2. 符号链接:检查并更新系统中可能存在的符号链接
  3. 服务依赖:如果有其他服务依赖 OpenClaw,需要更新它们的配置
  4. 数据库路径:如果使用本地数据库,需要迁移数据库文件并更新连接字符串
  5. 防火墙/SELinux:新路径可能需要调整文件系统权限

快速迁移脚本示例

#!/bin/bash
# openclaw_migration.sh
OLD_PATH="/opt/openclaw"
NEW_PATH="/new/path/openclaw"
echo "开始迁移 OpenClaw 从 $OLD_PATH 到 $NEW_PATH"
# 停止服务
systemctl stop openclaw
# 创建目录结构
mkdir -p $NEW_PATH/{bin,config,data,logs}
# 复制文件
cp -r $OLD_PATH/bin/* $NEW_PATH/bin/
cp -r $OLD_PATH/config/* $NEW_PATH/config/
cp -r $OLD_PATH/data/* $NEW_PATH/data/
# 更新配置文件
find $NEW_PATH/config -type f -exec sed -i "s|$OLD_PATH|$NEW_PATH|g" {} \;
# 更新服务文件
sed -i "s|$OLD_PATH|$NEW_PATH|g" /etc/systemd/system/openclaw.service
# 重新加载服务
systemctl daemon-reload
systemctl start openclaw
echo "迁移完成!"

建议在执行迁移前先进行测试,确保新环境能够正常工作。

抱歉,评论功能暂时关闭!