在Linux服务器上保存完整网页的最佳方法是什么?

我需要在我的Linux服务器上存档完整的页面,包括任何链接的图像等。 寻找最佳解决scheme。 有没有办法保存所有的资产,然后重新链接所有的工作在同一个目录?

我想过使用curl,但我不确定如何做到这一切。 另外,我可能需要PHP的DOM?

有没有办法在服务器上使用Firefox,并在地址加载或类似之后复制临时文件?

任何和所有的input欢迎。

编辑:

看起来好像wget是'不'工作的文件需要被渲染。 我有服务器上安装的Firefox,有没有办法加载在Firefox中的URL,然后抓住临时文件,并清除后的临时文件?

Solutions Collecting From Web of "在Linux服务器上保存完整网页的最佳方法是什么?"

wget可以做到这一点,例如:

 wget -r http://example.com/ 

这将镜像整个example.com网站。

一些有趣的选项是:

-Dexample.com :不要跟随其他域的链接
--html-extension :将文本/ html内容类型的页面重命名为.html

手册: http : //www.gnu.org/software/wget/manual/

如果网页中的所有内容都是静态的,则可以使用wget来解决此问题:

 $ wget -r -l 10 -p http://my.web.page.com/ 

或其一些变化。

由于您也有动态页面,因此您通常无法使用wget或任何简单的HTTP客户端来存档这样的网页。 合适的存档需要包含后端数据库和任何服务器端脚本的内容。 这意味着正确执行此操作的唯一方法是复制后备服务器端文件 。 这至少包括HTTP服务器文档根目录和任何数据库文件。

编辑:

作为解决方法,您可以修改您的网页,以便相应的特权用户可以下载所有服务器端文件以及支持数据库的文本模式转储(例如SQL转储)。 您应该非常小心,避免通过此存档系统打开任何安全漏洞。

如果您使用的是虚拟主机提供商,则大多数提供某种Web界面,允许备份整个站点。 如果您使用的是实际的服务器,则可以安装大量的备份解决方案,包括针对托管站点的一些基于Web的备份解决方案。

使用以下命令:

 wget -E -k -p http://yoursite.com 

使用-E调整扩展名。 使用-k转换链接以从存储装载页面。 使用-p下载页面内的所有对象。

请注意,此命令不会下载指定页面中超链接的其他页面。 这意味着这个命令只会下载正确加载指定页面所需的对象。

 wget -r http://yoursite.com 

应该是足够的,抓图像/媒体。 有很多选项可以喂它。

注意:我相信wget或其他任何程序都支持下载通过CSS指定的图像,因此您可能需要手动执行此操作。

这里可能有一些有用的参数: http : //www.linuxjournal.com/content/downloading-entire-web-site-wget