在 MediaWiki 中导出和导入图像
题
如何从 MediaWiki 导出和导入图像?
其他提示
终端解决方案
MediaWiki 管理员在服务器终端可以执行 维护任务使用 维护脚本 框架. 。新的 Mediawiki 版本运行下面描述的任务中的所有标准脚本,但旧版本有一些错误或不具有所有现代脚本:检查 版本号 经过 grep wgVersion includes/DefaultSettings.php
.
笔记:所有引用的(下面)脚本也 --help
选项,例如 php maintenance/importImages.php --help
原始图像文件夹
用户通过Special:Upload页面上传文件;管理员可以通过扩展名白名单配置允许的文件类型。上传后,文件将存储在文件系统上的文件夹中,缩略图将存储在专用的缩略图目录中。
媒体维基的 images
文件夹可以压缩为 zip -r ~/Mediafiles.zip images
命令,但这个 zip 不太好:
有很多昂贵的文件:“已删除的文件”和“旧文件”(不是 当前的) 文件名为
20160627184943!MyFig.png
, ,缩略图为MyFig.png/120px-MyFig.jpg
.为了 数据交换 或长期 保存 猪,无效……这 丑陋的
images/?/??/*
文件夹格式 不适合,像往常一样“所有图像文件都在一个文件夹中”。
图像导出/导入
对于“导出和导入” 所有当前图像都位于一个文件夹中 在 MediaWiki 服务器的终端上,有一个逐步的单一程序。
步骤1: 使用生成图像转储 转储上传 (和 --local
或者 --shared
需要保存时的选项),这会创建一个 TXT 所有正在使用的图像文件名的列表。
mkdir /tmp/workingBackupMediaFiles
php maintenance/dumpUploads.php \
| sed 's~mwstore://local-backend/local-public~./images~' \
| xargs cp -t /tmp/workingBackupMediaFiles
zip -r ~/Mediafiles.zip /tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles
该命令会生成图像备份文件夹的标准 zip 文件, Mediafiles.zip
在您的用户根目录(~/
).
笔记:如果你不担心 丑陋的文件夹结构, ,更直接的方法是
php maintenance/dumpUploads.php \
| sed 's~mwstore://local-backend/local-public~./images~' \
| zip ~/Mediafiles.zip -@
根据 Mediawiki 版本 --base=./
选项将正常工作,您可以删除 sed
管道的命令。
第2步: 需要备份吗?安装图像的副本?...你只需要 Mediafiles.zip
, ,以及 已安装 Mediawiki, ,没有内容...如果 Wiki 有内容,请检查文件名冲突问题(!)。另一个问题是文件格式和权限的配置,在新的 Wiki 中必须相同或更广泛,请参阅 手册:配置文件上传.
步骤3: 恢复转储(到新的维基)、配备维修工具。假设您使用步骤 1 导出并保存在 zip 文件中,
unzip ~/Mediafiles.zip -d /tmp/workingBackupMediaFiles
php maintenance/importImages.php /tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles
php maintenance/update.php
php maintenance/rebuildall.php
就这些。检查,在您的新 Wiki 中导航 特别:新文件.
完整导出或保存
用于导出旧 MediaWiki 的“所有图像和所有文章”,以进行完整备份或 内容保存. 。在每一步添加一些过程:
步骤1: ...参见上面的步骤 1...并且,生成文本内容转储 来自旧维基
php dumpBackup.php --full | gzip | ~/dumpContent.xml.gz
笔记:代替 --full
你可以使用 --current
选项。
第2步: ...你需要 dumpContent.xml.zip
和 Mediafiles.zip
...来自旧维基。假设两个 zip 文件都位于您的 ~
文件夹。
步骤3: 跑步 在你的新维基中
unzip ~/Mediafiles.zip -d /tmp/workingBackupMediaFiles
gunzip -c ~/dumpContent.xml.gz
| php maintenance/importDump.php --no-updates \
--image-base-path=/tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles
php maintenance/update.php
php maintenance/rebuildall.php
就这些。还检查 特别:所有页面 新维基的。
有一些大量上传工具可用。
Commonist - www.djini.de/software/commonist /
两者都在桌面上运行,可以配置为上传到您的本地维基(默认情况下,它们是为维基百科和维基媒体公共配置的)。如果你害怕编辑.jar文件的内容,我建议你从Commonplace开始。
Mediawiki本身存在另一个有用的扩展。
MultiUpload - http://www.mediawiki.org/维基/扩展:MultiUpload
此扩展程序允许您将图像放在文件夹中并立即加载它们。如有必要,它支持每个文件的注释,并在文件夹完成后清理它。在缺点方面,它需要在服务器端打开一个共享文件夹。
Commonplace - commons.wikimedia.org/wiki/Commons:Tools/Commonplace
曾经可用,但是自1月起已弃用。 13,2010 。