![将文件和数据库从一台服务器移动到另一台服务器](https://linux22.com/image/1382828/%E5%B0%86%E6%96%87%E4%BB%B6%E5%92%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BB%8E%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我必须将我的整个网站连同源代码、数据库和其他支持软件模块从一个系统移动到另一个系统。这两个系统都使用 CentOs 操作系统。我必须使用 putty 移动数据。为了安全起见,我创建了一个具有 root 访问权限的新用户。现在,我在较新的系统上新安装了 LAMP 和 phpmyadmin。配置设置(httpd.conf、php.ini 和其他各种未知设置)、文件权限、文件夹权限和其他内容必须相同。要完成此操作,需要遵循哪些步骤
答案1
我通常使用rsync
。拥有 root 用户会使过程更加简单,因为您可以保证保留权限。
ssh 进入新的 Linux 机器并执行此rsync
命令:
root@new-host# rsync -avl --delete --partial --progress root@old-host:/old/dir/ /new/dir/
使用的 rsync 标志含义:
-a
- 存档模式或递归复制-v
- 冗长-l
- 保留符号链接--delete
- 删除目标中源中不存在的文件--partial
- 恢复大文件的复制--progress
- 显示进度指示器
此命令将确保新服务器上的内容与旧服务器上的内容/new/dir/
完全相同。其优点在于,如果您的树很大,您可以中断此命令,或者多次执行此命令 - 每次执行的速度都会更快,让您更接近拥有两棵相同树的最终目标。/old/dir/
rsync
答案2
我能够使用 scp 命令成功传输
以下命令必须从源执行
scp-r @:
-r 递归文件传输
保留所有权限