服务器终端的MediaWiki管理员可以使用维护脚本框架执行维护任务.Mediawiki的新版本在下述任务运行所有标准的脚本,但旧版本有一些错误或不具备所有现代人的脚本:检查版本号通过 grep wgVersion includes/DefaultSettings.php.
注意:例如,所有引用的(下面)脚本都有--help选项php maintenance/importImages.php --help
用户通过Special:Upload页面上传文件; 管理员可以通过扩展白名单配置允许的文件类型.上传后,文件存储在文件系统的文件夹中,缩略图存储在专用的拇指目录中.
Mediawiki的images文件夹可以用zip -r ~/Mediafiles.zip images命令压缩,但这个zip不太好:
有很多过时的文件:"已删除文件"和"旧文件"(不是当前文件),文件名为20160627184943!MyFig.png,缩略图为MyFig.png/120px-MyFig.jpg.
对于数据交换或长期保存 porpurses,它是无效的... 丑陋的images/?/??/*文件夹格式不适合,像往常一样"只有一个文件夹中的所有图像文件".
对于"导出和导入" MediaWiki服务器终端的一个文件夹中的所有当前图像,有一个逐步的单个过程.
步骤1:使用dumpUploads(在保存需要时使用--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
Run Code Online (Sandbox Code Playgroud)
该命令将生成映像备份文件夹的标准zip文件,Mediafiles.zip位于用户根目录(~/).
注意:如果你不担心丑陋的文件夹结构,更直接的方法是
php maintenance/dumpUploads.php \
| sed 's~mwstore://local-backend/local-public~./images~' \
| zip ~/Mediafiles.zip -@
Run Code Online (Sandbox Code Playgroud)
根据Mediawiki版本,该--base=./选项将正常工作,您可以删除sed管道的命令.
第2步:需要备份吗?安装图像的副本?...你只需要Mediafiles.zip,并且安装Mediawiki,没有内容......如果Wiki有内容,请检查文件夹conflicks(!)的问题.另一个问题是文件格式和权限的配置,在新Wiki中必须相同或更广泛,请参见手册:配置文件上载.
步骤3:使用维护工具恢复转储(到新Wiki).假设您使用step-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
Run Code Online (Sandbox Code Playgroud)
就这些.检查,在你的新Wiki 特别版:NewFiles中查找.
用于导出旧MediaWiki的"所有图像和所有文章",以进行完整备份或内容保留.在每个步骤添加一些程序:
步骤1: ...参见上面的步骤1 ...以及从旧的Wiki生成文本内容转储
php dumpBackup.php --full | gzip | ~/dumpContent.xml.gz
注意:--full您可以使用该 --current选项代替.
第2步: ......你需要dumpContent.xml.zip和Mediafiles.zip......从旧的Wiki.假设您的~文件夹中有两个zip文件.
第3步:在新的Wiki中运行
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
Run Code Online (Sandbox Code Playgroud)
就这些.还要检查特殊:新Wiki的所有页面.
没有自动导出图像的方法,如导出页面,您必须右键单击它们,然后选择"保存图像".要获取"图像"页面的历史记录,请使用" 特殊:导出"页面.
要导入图像,请使用Wiki上的Special:Upload页面.如果您有很多,可以使用" 导入图像"脚本.注意:您通常必须在sysop组中才能上传图像.