【翻译】Xibo官方文档6-CMS Maintenance

维护

维护是任何系统中的重要组成部分,通常情况下都需要进行配置。维护模块保证系统数据库以及文件在健康的状况下运行,该模块以后台模式进行运行,当错误出现时将弹出警告信息。维护在CMS设置中进行配置,在维护标题下。

简介

当Xibo正在运行时,日志和统计数据在服务器上缓慢积累,不停的消耗磁盘空间。在极端情况下,大量的记录数据将导致服务界面运行缓慢,甚至导致无响应情况出现。
你可以放心的是,一旦显示器出现异常,它将停止与Xibo服务器的通讯。你可以通过接收邮件的方式查看该警告,并着手解决这一问题。
维护脚本可以设置为定期运行,并且在后台清除任务,例如删除旧日志和统计数据,检测显示器状态等。

先决条件

想要接收邮件提醒,你的PHP需要执行一个mail()的命令。
你需要确认你的PHP安装程序已经配置了通过本地或者远程的SMTP服务器来发送邮件。
一旦你证实了你的PHP安装程序成功执行mail()的命令后,你就可以进入下一步了。

新Xibo安装设置

维护功能仅存在于Xibo服务器1.2.0以及以上版本中。
新的Xibo服务安装程序将为维护脚本设置一些默认参数,但是在整个系统中是无效的。你可以进入下一步到配置区域进行配置。

1.2.0以前版本设置

维护功能仅存在于Xibo服务器1.2.0以及以上版本中。如果你想在原有的Xibo服务器上升级到1.2.0,你需要修改升级方法中的默认设置参数。
如果你决定将维护功能作为本次升级的一部分,它将自动的配置成“protected”模式这一最安全的选项。其他选项内容将在下面部分进行详细说明。在保护模式下,你应该立即修改你的维护密钥,因为默认密钥正在生效,并且不提供任何保护。

配置

你可以在Xibo服务器上的”Administration -> Settings -> Maintenance” 选项卡中找到维护脚本的配置项。
下面是部分与维护脚本有关的配置项介绍:

  • 维护生效MAINTENANCE_ENABLED
    • 关闭-所有的维护功能均关闭
    • 开启- 所有的维护功能均开启。你可以在任务中使用下面的任何方法调用维护脚本,而无需输入密钥。
    • 保护-所有的维护功能均开启。当你调用维护脚本时,必须制定正确的密钥信息。这将防止未认证的用户不断调用脚本,从而生成大量的警告邮件。
  • 维护密钥MAINTENANCE_KEY
    当维护生效选项处于保护模式下时,调用维护脚本将需要用户提供指定密钥。
  • 邮件警告MAINTENANCE_EMAIL_ALERTS
    全局的设置是否发送警告邮件。你可以在显示器管理页面为每个独立的显示器设置警告是否生效。
  • 警告超时MAINTENANCE_ALERT_TOUT
    全局配置当一个显示器持续多少分钟连接到服务器上就认为此处发生了一个错误,从而发送警告邮件。你可以在显示器管理页面为每个独立的显示器重写默认设置。你应该保证这个时间将大于客户端从服务器上获取更新内容的时间,从而避免伪错误警告邮件。
  • 邮件目标地址mail_to
    警告邮件发送的目标邮箱地址
  • 邮件发送者mail_from
    警告邮件的发送者
  • 日志最大保存时间MAINTENANCE_LOG_MAXAGE
    日记信息保存的最大时间。超期的日志将会自动删除。如果设置为0的话,日志将一直保存。
  • 统计数据最大保存时间MAINTENANCE_STAT_MAXAGE
    统计信息保存的最大时间。超期的统计数据将会自动删除。如果设置为0的话,统计将一直保存。
    一旦你决定需要设置哪个选项或者参数,你需要在任务中设置一种机制来调用maintenance.php。在你的服务器上跳转到合适的区域。
    如果你在服务器上不具备设置调度任务的权限,你可以安排一台远程电脑来调用maintenance.php脚本

windows调度任务

本章节编写基于Moodle Cron文档。

  • 在你的服务器上找到php.exe或者php-win.exe程序,该程序应该位于你的PHP安装目录下
  • 设置一个调度任务
  • 进入Start -> Control Panel -> Scheduled Tasks -> Add Scheduled Task
  • 点击“Next”开始安装引导
  • 点击“Browse….”按钮,找到你的php.exe或者php-win.exe程序,然后点击“Open”
  • 输入“Xibo Maintenance”作为你的任务名称,然后选择“Daily”选项作为一个每日任务,点击“Next”
  • 选择“12:00 am”作为开始时间,然后将任务执行周期设置为“Every Day”,选择今天的日期作为开始日期,然后点击”Next”
  • 输入用户的用户名和密码,任务将在后台运行。(此处无需输入特权账号)。确保你输入的密码是正确的,然后点击“Next”
  • 选中“Open advanced properties for this task when I click Finish”,然后点击“Finish”
  • 在新的对话框,在”Run:”中输入下面的文字
 c:\php\php-win.exe -f c:\path\to\Xibo\maintenance.php secret

使用你的维护密钥代替secret字段,如果你运行在保护模式下。
- 点击“Schedule”选项卡,然后选择“Advanced…”按钮。
- 勾选“Repeat task”,然后设置“Every:”为5分钟。然后设置“Until:”为“Duration”,然后输入“23”小时和“59”分钟。如果你的警告超时时间小于5分钟,你可能会需要更频繁的运行维护脚本
- 点击“OK”.*测试你的调度任务。

你可以点击右侧的Run按钮,来测试你的调度任务是否能够正常运行。如果所有事情都配置正常,当php执行的时候,你将会看到一个DOS命令窗口,它将获取cronpage信息,然后消失。如果你刷新调度任务文件,你将会看到上次运行的时间一列显示的是当前时间,并且最后的结果显示的是“0x0”(正常的意思)。如果这个过程中有任何地方与描述的不一致,你应该重新检查一下你的配置过程。

在Unix服务器上配置维护

本章节编写基于Moodle Cron文档。在这个章节中,你可能会用到一些不同的命令行程序来调用维护页面。在指定服务器上,并不是所有给出的命令都能完美执行。
例如,你可以在Unix的服务器上执行“wget”

wget -q -O /dev/null http://example.com/Xibo/maintenance.php?key=changeme

注意,在本例中,输出结果被扔掉了(to /dev/null)
同样,你可以使用lynx

lynx -dump http://example.com/Xibo/maintenance.php changeme > /dev/null

注意,在本例中,输出结果被扔掉了(to /dev/null)
作为选择,你可以使用一个单独的PHP版本进行编译,然后执行命令行。缺点在于你需要使用命令行版本的PHP。优点在于你的web服务器日志将不会被频繁的maintenance.php脚本调用请求堆满。你可以在低频率的I/O和CPU优先级上运行这个程序。

php /var/www/Xibo/maintenance.php changeme

在更低优先级运行命令行的示例如下:

ionice -c3 -p$$;nice -n 10 /usr/bin/php /var/www/Xibo/maintenance.php changeme > /dev/null

在定时任务中运行维护脚本

本章节编写基于Moodle Cron文档。大部分基于Unix的服务器都运行了某个版本的Cron。cron在调度中执行命令。
现在Linux的发布版本同样适用了某个版本的cron,你可以在/etc/crontab中浏览它的配置。如果你有这样的路径,适用你熟悉的编译器打开它,或是运行下面的命令编辑crontab文件:

 crontab -e

然后在最上面增加一条命令:

*/5 * * * * wget -q -O /dev/null http://example.com/Xibo/maintenance.php?key=changeme

最开始的五个字段是运行的时间参数,随着命令而执行。*是一个通配符,表示任何时间。上面的例子意思是运行wget -q -O /dev/null... 每隔五分钟一次,每个小时,每个月的每一天,每一年的每一月,每一周的每一天。
“-O”中的“O”是大写的o字母,并不是数字0,是用来指定输出文件目标路径的。在本例中“/dev/null”是一个黑洞,将丢弃所有的输出内容。如果你想要看到cron.php执行的输出信息,可以在浏览器中输入完整的URL。

  • 基础cron指导
  • 在线操作说明

作为初学者,“EDITOR=nano crontab -e”将允许你使用nano编译器编辑crontab文件。Ubuntu默认使用nano编辑器。
通常情况下,“crontab -e”命令将默认使用“vi”编辑器。你可以输入“i”进入到插入模式,然后输入上面的那一行命令,然后点击ESC按钮退出插入模式。你可以输入“:wq”保存并退出,也可以直接输入“:q!”来不保存退出。这里有一个简单的关于“VI”编辑器的介绍我是地址

你可能感兴趣的:(cms,xibo)