首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写PHP/CRON脚本以自动执行任务

如何编写PHP/CRON脚本以自动执行任务
EN

Stack Overflow用户
提问于 2012-10-21 00:42:20
回答 1查看 1.4K关注 0票数 1

我有一个“会议”表如下:

代码语言:javascript
运行
复制
SessionId(Auto) SessionName  SessionDate SessionTime Duration  Active
1               AASEA        21-09-2012  09:00:00    01:00:00  1
2               SDERF        11-09-2012  10:00:00    01:00:00  1
3               DERSD        30-11-2012  12:00:00    01:30:00  1

现在,我想要做的是使用CRON能够将上面的会话设置为“活动”-0,如果会话是在2012年10月21日或更早之前每周举行的。因此,在上面的Session Table中,应该通过将"Active“更改为0来使前2行处于非活动状态。由于开始日期较晚,第三行不会明显更改。因此,在2013年10月21日之前,该会议不会自动停止活动。

因此,我想知道,我以前没有使用过CRON,这是一项微妙的任务,因为需要对它进行测试,以确保其工作正常,是否有人知道如何编写php/CRON脚本,以便它执行以下操作:

  • 将所有开始日期恰好是一周或本年度10月21日之前的会话的“活动”值设置为0?
  • 它必须能够自动知道当前年份是什么。
  • 这一程序每年每年10月21日发生。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-21 01:39:29

将此脚本写入php文件,并将其直接保存在应用程序中的某个位置。

代码语言:javascript
运行
复制
<?php
$con = mysql_connect("localhost","root","password");
$db = mysql_select_db("your_database");


$createDate = mktime(0,0,0,10,21,date("Y"));
$selectedDate =  date('d-m-Y', ($createDate));
$sql = mysql_query("UPDATE Session SET Active = 0 WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= '".$selectedDate."'");

?>

现在,您需要登录到您的托管站点- cPanel和访问CRON作业。在这里,您需要设置一个新的CRON job.This,这是一个关于如何设置cron作业- http://www.youtube.com/watch?v=0OBvGbyj15Q的教程。

只要用上面写的脚本替换视频中使用的url就可以了。确保您替换了凭据和数据库。

您可以将cron的工作设置为每年的10月21日,也可以每天运行。我们的脚本无论如何都会验证日期,所以如果您每天运行cron作业也没有问题。这不是一个昂贵的查询,因此所使用的资源是最少的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12993950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档