跨服务器迁移nextcloud数据

背景

阿里云最近做活动,99一年的2U2G的服务器,比我原来的1U1G的服务器不知道高到哪里去了,于是决定迁移服务器数据到另一台主机上。原先的计划是直接做一个自定义镜像,然后复制到另一台主机就行,结果发现旧主机是aliyunOS,新主机不想踩这个坑了,决定换成乌班图,因此决定重新搭环境再迁移数据.

前期工作

  1. 确定两台主机是否都在一个地区的同一个专网中,如果是同一个专网可以使用私网IP进行内网传输,速度快还不费流量。
  2. 安装Screen用于迁移中异常情况导致的终端退出,可以在退出的情况下继续迁移
  3. Scp命令,用于在内网中迁移数据,不需要另外装软件
  4. 将旧服务器(A)的公钥添加到新服务器(B)上,使用Scp的时候可以直接密钥登录不用输密码

开始迁移

  1. 确认两台主机在一个私有网络当中

  2. 使用命令压缩A服务器中的nextcloud数据,nextcloud数据存储在 ${next_cloud_path}/data/${user_name}/files/目录下

bash 复制代码
tar -czvf /tmp/nextcloud_data.tar /home/nextcloud/data/root/files/
  1. 在服务器A使用scp命令推送数据到服务器B
bash 复制代码
// 使用scp命令推送数据 
scp ${file_path} ${user_name}@${host}:${new_file_path}
scp nextcloud_data.tar root@127.0.0.1:/tmp
  1. 在服务器B处解压对应的数据库包到nextcloud的数据目录下
bash 复制代码
tar -xzvf nextcloud_data.tar -C /home/wwwroot/default/nextcloud/data/root/files
  1. 使用nextcould的occ命令重新扫描数据,occ文件在nextcloud的安装目录下
bash 复制代码
// 需要使用nextcloud对应的账户进行扫描,否则会出现权限问题
sudo -u ${nextcloud对应的账号} php occ files:scan ${nextcloud用户名}
sudo -u www php occ files:scan root

image.png

相关推荐
Elastic 中国社区官方博客17 小时前
使用 Elastic Cloud Serverless 扩展批量索引
大数据·运维·数据库·elasticsearch·搜索引擎·云原生·serverless
超龄超能程序猿18 小时前
Docker GPU插件(NVIDIA Container Toolkit)安装
运维·docker·容器
Xの哲學18 小时前
Linux SMP 实现机制深度剖析
linux·服务器·网络·算法·边缘计算
2501_9061505618 小时前
私有部署问卷系统操作实战记录-DWSurvey
java·运维·服务器·spring·开源
钦拆大仁18 小时前
单点登录SSO登录你了解多少
服务器·sso
岳来19 小时前
docker 从 Path 值看容器启动命令
运维·docker·容器
only火车头19 小时前
升级 ceph (16.2 -> 18.2) ceph mon 启动失败
服务器·ceph
RisunJan19 小时前
Linux命令-ifconfig命令(配置和显示网络接口的信息)
linux·运维·服务器
杭州泽沃电子科技有限公司20 小时前
面对风霜雨雪雷电:看在线监测如何为架空线路筑牢安全网
运维·人工智能·在线监测·智能监测
lbb 小魔仙20 小时前
【Linux】100 天 Linux 入门:从命令行到 Shell 脚本,告别“光标恐惧”
linux·运维·服务器