我租了一台运行 Ubuntu 的虚拟服务器。为了测试配置的更改,我希望能够在本地机器上尝试它们。所以基本上我想创建虚拟服务器的克隆(我不关心这个克隆是否会作为物理服务器运行或在本地机器上虚拟化),并跟踪任何更改以获取某种脚本或剧本在远程系统上重新创建这些更改或自动发布这些更改。
在远程系统上我有 ssh,而目标系统是我的,具有物理访问权限,因此本地不应该有任何限制。
由于存在带宽限制,我想尽可能减少复制的文件。
归根结底就是:
- 复制远程机器需要哪些文件或目录?
- 传输数据的最佳方式是什么? (将所有内容打包并 scp 起来?)
- 有没有办法创建脚本或剧本?
答案1
您可以通过 SSH 使用 dd。
dd 会对您指向的内容进行文字复制,并将其放入您指定的目标文件中。
以下是一篇详细介绍的文章:
http://karlherrick.com/dev/2008/09/12/dd-backups-over-ssh/
复制驱动器映像所花费的时间可能比您花在确定需要复制哪些文件上的时间要少得多,如果您想减少传输开销,您可以对文件进行 tar/gzip 压缩。