mediawiki的备份和恢复,及自动备份

mediawiki的备份,需要备份数据库,和wiki的程序目录两部分。

目前,我用的是win7+mysql

wiki相关信息如下:
wiki安装路径d:\apache2\htdocs\wiki
wiki使用的数据库名:mediawiki
数据库用户:wiki

 

一、备份
1. 备份数据库

备份mysql数据库:
mysqldump -u wiki -p -h localhost --opt mediawiki > mediawiki-backup.sql

2. 备份wiki程序目录:
备份程序文件:

需要备份LocalSetting.php文件,extension、image、skin目录及手动修改过的文件。这里直接备份整个目录。
将整个目录(wiki安装路径d:\apache2\htdocs\wiki)压缩为zip文件。mediawiki-backup.zip

 

二、恢复

1.将备份的文件解压,把wiki目录恢复到http可访问的路径下

2.重新安装

在浏览器里输入 http://serverip/media/config/index.php 开始重新安装,安装过程中填入的信息也要和以前备份的时候一样(主要是wiki名,wiki数据库名,数据库用户,数据库用户密码,数据库前缀)。这么做是为了保持和以前备份的数据库一致。

安装完成后,新的数据库就生成了。

3.更改配置文件
然后根据我们保存的LocalSetting.php.old来更改新的LocalSetting.php(就是把原来的一些设置再重新添加到新生成的LocalSetting.php里)。


4.导入数据库

回到保存数据库备份的目录,执行:
mysql mediawiki < mediawiki-backup.sql


5.验证
在浏览器里输入 http://serverip/media , 看到了吗?和以前的一样。 :)

 

三、自动备份

1. 创建bat文件,使用上面的mysqldump备份,取当天的日期为文件名。

 

写道

 

@echo off
set time=%date:~10,4%%date:~4,2%%date:~7,2%
set path="D:\backup\wiki\"
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqladmin" -u wiki --password=123456 shutdown
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqldump" --opt -u wiki --password=123456 mediawiki > %path%wiki_backup_%time%.sql
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld"

 

2.创建计划任务,每周执行此bat即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MediaWiki 实现 AJAX 请求的步骤如下: 1. 在 `LocalSettings.php` 文件中添加以下代码开启 AJAX 支持: ```php $wgAjaxExportList = array( 'myFunction' ); $wgUseAjax = true; ``` `$wgAjaxExportList` 数组中包含了可以被调用的函数名,这些函数将由 JavaScript 发送 AJAX 请求来执行。 2. 编写 AJAX 函数: ```php function myFunction( $param ) { // 处理参数 $result = "Hello, " . $param; // 返回结果 return $result; } ``` 此函数接收一个参数 `$param`,处理后返回结果。 3. 编写 JavaScript 代码: ```javascript $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { console.log( response ); } }); ``` 该代码使用 jQuery 发送 AJAX 请求,调用了 MediaWiki 中的 `myFunction` 函数,并传入了参数 `'World'`。成功后,控制台将输出结果。 以下是一个简单的 AJAX 请求示例: ```php function myAjaxFunction( $param ) { $result = "Hello, " . $param; return $result; } $wgHooks['BeforePageDisplay'][] = function( $out ) { $out->addScript( <<<JS $(document).ready(function() { $('#ajax-button').click(function() { $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myAjaxFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { alert( response ); } }); }); }); JS ); return true; }; $wgResourceModules['ext.myExtension'] = array( 'scripts' => array( 'js/myExtension.js', ), 'dependencies' => array( 'jquery', 'mediawiki.util', ), ); ``` 此代码定义了一个 `myAjaxFunction` 函数,并添加了一个按钮,点击后将触发 AJAX 请求并弹出结果。同时,它还注册了一个资源模块 `ext.myExtension`,在其中包含了 `myExtension.js` 文件。该文件中包含了上述 JavaScript 代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值