首页 / 帖子
关于产品自动上下线的问题

关于产品自动上下线的问题(主要是在页面不访问的情况下也能自动更新,同时需要将状态实时更新到数据库)


程序采用PHP+MYSQL编写


产品上线的起始日期和结束日期都报存在数据库的相应字段中。日期格式如下:

$startDate '2014-05-30';
$endDate '2014-08-30';

先谢谢各位。

2个答案
AnnyO
发布于:2014-05-29 18:49

你说的应该是定期执行任务。

a). Linux下用cronjob就可以。比如,在crontab -e进入cron的编辑界面,输入以下内容:

0 0 */2 * * /home/robbin/scripts/mysql_backup.php > /dev/null 2>&1

上面的意思大概就是每2天备份一下数据库。当然,你也设置没2分钟坚持你的产品是否自动上下线。

b). 开源的解决方案是jenkins,说来话长,你参考一下相关资料吧。

http://jenkins-ci.org/


=========================补充答案====================

Cronjob中每一个位代表的含义:

 +------------------ 第几分钟 (0 - 59)
 |  +--------------- 第几小时 (0 - 23)
 |   |  +----------- 每月第几天 (1 - 31)
 |   |   |  +------- 第几月 (1 - 12)
 |   |   |   |  +--- 星期几 (0 - 6) (Sunday=0)
 |   |   |   |   |
 *  *  *   *   *

如果是百分比的形式: */n,那么n代表的是步长,步长是什么意思呢?就是多长时间间隔。
比如,*/5,如果是分钟那个单位,就表示每5分钟。


另外,cronjob有一个在线编辑器,你可以自动生产之后,直接用。

Cron editor: http://www.corntab.com/pages/crontab-gui


发布于:2014-05-30 10:02

如果你要做的不是网站的自动上下线,而是Drupal里面内容的自动发布与取消发布,可以试试scheduler模块,http://www.drupalproject.org/project/scheduler。


当然如果你的网站不是Drupal做的,那还是高欣的方法通用一些。