跨服务器迁移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

相关推荐
苹果醋32 小时前
机器学习算法在网络安全中的实践
java·运维·spring boot·mysql·nginx
9毫米的幻想2 小时前
【Linux系统】—— make/makefile
linux·运维·服务器
Web极客码3 小时前
预防和应对DDoS的方法
服务器·ddos·应用层
大耳朵土土垚3 小时前
【Linux】线程池封装与介绍
java·linux·运维
大丈夫立于天地间4 小时前
Linux 系统上安装 Docker 并进行配置
linux·运维·docker
阿正的梦工坊6 小时前
Unix 进程的启动方式及经典和现代做法(中英双语)
服务器·unix
阿正的梦工坊6 小时前
什么是 Shell?常见的 Unix Shell有哪些?(中英双语)
linux·服务器·unix
会飞的爱迪生11 小时前
mac连接linux服务器
linux·服务器·macos
yaoxtao13 小时前
Docker的镜像
运维·docker·容器
不一样的信息安全13 小时前
Docker环境下Nacos的保姆级安装教程
运维·docker·容器