![努力恢复服务器](https://linux22.com/image/1084118/%E5%8A%AA%E5%8A%9B%E6%81%A2%E5%A4%8D%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
经过长时间的拖延,我终于开始使用 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
这仍然不起作用。所以我想也许还有更多网络文件需要排除,或者我操作的顺序不对。
我尝试将 tar 目录放在排除的文件/文件夹之前,但仍然不起作用,我也尝试将 ./ 放在允许的目录之前,并在排除的路径周围加上引号,例如..
--exclude='/etc/fstab'
我在 tar 之后收到错误,因此我删除了详细选项并发现它们是不太重要的文件,所以现在我认为我必须需要添加更多要排除的位置。
我必须注意,删除详细选项后它确实说......
Removing leading / from member names
和
Removing leading / from hard link targets
但经过一番研究后发现应该会发生这种情况
任何帮助都很好,因为它可以防止我因拔头发而秃顶:D
此致
答案1
最好的解决方案是在服务器上重新设置所有内容,然后仅复制“生产数据”。 (您应该记录您的设置,以便您可以在必要时重新创建它,并且只需要备份即可恢复生产数据。)
将操作系统的部分内容恢复到另一个操作系统现存的系统不是一个好主意,会导致不一致。例如,将内容从/usr
桌面系统复制到服务器系统将在不通知包管理系统的情况下安装内容,并且不会使用安全更新对其进行更新。您应该通过包管理器安装包。另一方面,复制/tmp
几乎毫无意义,因为它通常在重新启动时被清除。
从 tar 存档备份和恢复机器是为了清理驱动器/分区,这很容易,只需恢复数据、写入引导加载程序并可能替换文件系统 UUID。