【发布时间】:2018-07-17 13:38:45
【问题描述】:
我的任务是从公司 wiki 站点导出所有文件。我知道将它们全部导出并不难,但我想知道是否有一种有效的方法可以导出它们,同时将它们保持在类似的结构/组织中,这样我就不只是有数百个没有组织的文件。这是一个 MoinMoin wiki,我可以访问运行 wiki 的服务器。谢谢。
【问题讨论】:
我的任务是从公司 wiki 站点导出所有文件。我知道将它们全部导出并不难,但我想知道是否有一种有效的方法可以导出它们,同时将它们保持在类似的结构/组织中,这样我就不只是有数百个没有组织的文件。这是一个 MoinMoin wiki,我可以访问运行 wiki 的服务器。谢谢。
【问题讨论】:
登录服务器,然后复制 your_path/wiki/data 及其子文件夹和内容。无需担心任何符号链接,因此应该可以使用以下内容。
cp -R your_path/wiki/data your_destination
但是,当您说“导出所有文件”时,这也可能意味着一些不在 wiki/data 中的文件(配置文件、cgi 可执行文件和公共文件夹中的文件)。此外,尚不清楚您是否只需要当前版本的页面及其上传内容,还是需要完整的 wiki 及其所有页面历史记录和日志。
【讨论】:
由于无法访问服务器,可以尝试使用wget递归镜像wiki:
wget --no-parent \
--mirror \
--page-requisites \
--adjust-extension \
<home page url>
我使用的选项在documentation中描述如下:
--无父
...限制目录的非常有用的方法是禁止检索指向高于起始目录的层次结构的链接
--镜像
...此选项打开递归和时间戳,设置无限递归深度并保留 FTP 目录列表。
--页面必备
...此选项使 Wget 下载正确显示给定 HTML 页面所需的所有文件
--调整扩展
...如果下载了“application/xhtml+xml”或“text/html”类型的文件,并且 URL 不以正则表达式 '.[Hh][Tt][Mm][Ll] 结尾? ',此选项将导致后缀 '.html' 附加到本地文件名。
【讨论】: