经过很长时间的推迟,我是 Ubuntu 的新手。在过去的几个月里,我从一个完全的新手变成了使用 nginx 和 php-fpm 运行我自己的家庭服务器,我的网站运行良好。在用户的帮助下涵盖了从 mysql 到 SSL 的所有方面。
我什至丢失了我设法从中返回的整个 /etc/ 目录。
这一切都来自我的台式电脑。
好的,闲聊,我买了一个服务器机架,现在想把我的服务器转移到它上面。
我的桌面上有 Ubuntu 服务器 14.04,我的工作网站和新服务器机架上有 Ubuntu 服务器 14.04。
我喜欢对我的服务器进行皮重然后提取它的想法,但是我每次都会遇到问题。
我在这里关注本指南
现在我决定我会错过第 1 步并跳到第 2 步,因为我打算使用 SCP 或 rsync 来传输最终的 tar。
当我进入
tar -cvzf ~/clone.tgz --exclude ~/clone.tgz /etc /home /opt /tmp /usr /var
并将 tar 转移到我的机架并提取它没有启动,所以我重新查看了命令。
我试过了
tar -cvzf ~/clone.tgz --exclude ~/clone.tgz --exclude=/mnt --exclude=/etc/fstab /etc /home /opt /tmp /usr /var
机架启动但未进入系统,它抱怨网络并等待 60 秒以上然后黑屏。
我想我也需要排除网络文件。然后我试了..
tar -cvzf ~/clone.tgz --exclude ~/clone.tgz --exclude=/mnt --exclude=/etc/fstab exclude=/etc/modules exclude=/etc/lilo.conf exclude=/etc/mtab exclude=/proc exclude=/dev exclude=/var/log exclude=/etc/network/interfaces exclude=/etc/hostname /etc /home /opt /tmp /usr /var
那仍然没有用。所以我想也许我需要排除更多的网络文件,或者我以错误的顺序做事。
我尝试将焦油目录放在仍然无效的排除文件/文件夹之前,我还尝试将 ./ 放在允许的目录之前,并在排除的路径周围加上引号,例如 ..
--exclude='/etc/fstab'
我在 tar 之后遇到错误,所以我删除了详细选项,发现它们是不完全重要的文件,所以现在我认为我必须添加更多要排除的位置。
我必须注意,在删除详细选项后,它确实说了..
Removing leading / from member names
和
Removing leading / from hard link targets
但是经过一些应该发生的研究
任何帮助都会很棒,因为它可以避免我因为拔头发而秃顶 :D
此致
最好的解决方案是在服务器上重新设置所有内容并仅复制“生产数据”。(您应该记录您的设置,以便您可以在必要时重新创建它并且只需要备份来恢复生产数据。)
将操作系统的一部分恢复到另一个现有系统是一个坏主意,并且会导致不一致。例如,将内容
/usr
从桌面系统复制到服务器系统将在不通知包管理系统的情况下安装内容,并且不会使用安全更新来更新它们。您应该改为通过包管理器安装包。/tmp
另一方面,复制几乎毫无意义,因为它通常会在重启时被擦除。从 tar 存档备份和恢复机器是为了干净的驱动器/分区,这很容易,只涉及恢复数据、编写引导加载程序和可能替换文件系统 UUID。