`

windows定时执行PHP的技巧

    博客分类:
  • PHP
 
阅读更多
windows定时执行PHP相信不少读者(PHP爱好者)在工作、学习的过程中经常抱怨:在WIN如何让PHP定时自动发信呢??如何让MYSQL实现自动备份而无后顾之忧呢??如 果完全依靠手工进行当然也可以实现,但操作上似乎过于繁琐了一点!别着急,利用系统的任务计划程序(Windows 98称之为计划任务)可轻易解决这一问题。这一功能往往被很多用户忽略或者未曾想到:)。

所谓任务计划就是由计算机自动调用用户事先设置好的应用程序,从而达到简化用户操作的目的。利用Windows 2000的任务计划程序(相当与*NIX下的cron程序,这里不再对其详述),我们可以安排任何脚本、程序或文档在最恰当的时候运行,从而满足自己的需 要。下面以Windows 2000为例。

具体来说,我们若需利用任务计划程序自动运行则应执行如下步骤:

1.单击“开始”按钮,然后依次选择“程序”→“附件”→“系统工具”→“任务计划”(或者是“设置”→“控制面板”→“任务计划”),启动Windows 2000的任务计划管理程序。

2.在“任务计划”窗口中双击“添加任务计划”图标,启动系统的“任务计划向导”,然后单击“下一步”按钮,在给出的程序列表中选择需要自动运行的应用程序,然后单击“下一步”按钮。
设置适当的任务计划名称并选择自动执行这个任务的时间频率(如每天、每星期、每月、一次性、每次启动计算机时、每次登录时等),然后单击“下一步”按钮。
此时系统将会要求用户对程序运行的具体时间进行设置,如几号、几点钟、哪几个时间段才能运行等,我们只需根据自己的需要加以设置即可。

4.接下来系统将会要求用户设置适当的用户名及密码,以便系统今后能自动加以运行。

5.最后,我们只需单击“完成”按钮即可将相应任务添加到Windows 2000的任务计划程序中,此后它就会自动“记住”这个任务,一旦系统时间及相关条件与用户设置的计划相符,它就会自动调用用户所指定的应用程序,十分方 便(每次启动Windows 2000的时候,任务计划程序都会自动启动,并在后台运行,确保用户的计划能够按时执行)。

现在我们来测试一下刚才所建的任务是否成功,鼠标右键单击“php”程序图标(如图6所示),在弹出的菜单里面选择“运行”。一般情况下程序图标只要这样 激活运行就可以正常启动。如果运行失败可查看用户和密码是否设置正确,还有确定“Task Scheduler”服务是否已启动,本人当初就是为了节省系统资源把它关掉了导致运行失败,害我找了大半天。另外也可从“系统日志”里查看到底是什么原 因造成运行失败的。

好了,讲了这么多任务计划的应用,现在我们切入正题,下面将介绍两个例子:

一、让PHP定时运行吧!
1、 编辑如下代码,并保存为test.php:
<?php
$fp = @fopen("test.txt", "a+");
fwrite($fp, date("Y-m-d H:i:s") . " 让PHP定时运行吧!\n");
fclose($fp);
?>
打开文本输入:D:\php4\php.exe -q D:\php4\test.php
保存为.bat格式。
D:\php4\php.exe 是php安装路径,D:\php4\test.php是要定时运行的程序的路径。

2、添加一个任务计划,选择那个.bat文件

3、时间设置为每隔1分钟运行一次,然后运行这个任务。

4、现在我们来看看d:\php4\test.txt文件的内容时候是否成功。如果内容为如下所示,那么恭喜你成功了。

2003-03-03 11:08:01 让PHP定时运行吧!
2003-03-03 11:09:02 让PHP定时运行吧!
2003-03-03 11:10:01 让PHP定时运行吧!
2003-03-03 11:11:02 让PHP定时运行吧!

二、让MYSQL实现自动备份变成可能!
1、编辑如下代码,并保存为backup.php,如果要压缩可以拷贝一个rar.exe:
<?php
if ($argc != 2 || in_array($argv[1], array('--help', '-?'))) {
?>
backup Ver 0.01, for Win95/Win98/WinNT/Win2000/WinXP on i32
Copyright (C) 2000 ptker All rights reserved. http://www.dareng.com
This is free software,and you are welcome to modify and redistribute it
under the GPL license

PHP Shell script for the backup MySQL database.

Usage: <?php echo $argv[0]; ?> <option>

<option> can be database name you would like to backup.
With the --help, or -? options, you can get this help and exit.
<?php
} else {
$dbname = $argv[1];
$dump_tool = "c:\\mysql\\bin\\mysqldump";
$rar_tool = "d:\\php4\\rar";
@exec("$dump_tool --opt -u user -ppassword $dbname > ./$dbname.sql");
@exec("$rar_tool a -ag_yyyy_mm_dd_hh_mm $dbname.rar $dbname.sql");
@unlink("$dbname.sql");
echo "Backup complete!";
}
?>

2、添加一个任务计划,在(如图2所示)这一步输入命令:
D:\php4\php.exe -q D:\php4\backup.php databasename
3、时间设置为每天运行一次,然后运行这个任务。
4、最后会在d:\php4\目录下生成一个以数据库名和当前时间组成的rar文件。
5、恭喜你!大功告成了!
当然备份方式有很多种,读者可按照自己喜欢的去做!



以上是原著.结合本人实贱,补充说明如下:

1. 如果出现错误:
在试着设置任务帐户信息时出现错误
   指定的错误是:
   0x80070005:拒绝访问
   您没有运行所请求的操作的权限

在上面'"4.接下来系统将会要求用户设置适当的用户名及密码(如图5所示),以便系统今后能自动加以运行".这里最好用"system"用户,密码可为空.

这个system的权限非常之高,比你的administrator还要高,所以你在运行命令的时候千万不要乱来,这个可是什么提示都没有就会无条件执行的,这个权限下你kill核心进程都行.
分享到:
评论

相关推荐

    服务器定时执行计划任务,定时访问页面(windows/linux)

    - 执行PHP脚本:设置Crontab任务,以定时执行PHP脚本。 - 使用URL触发PHP脚本:通过设置定时任务,使用lynx、curl或wget命令访问URL,从而触发服务器上的PHP脚本执行。 - 脚本执行的限制与解决方法:通过PHP函数...

    PHP简单实现定时监控nginx日志文件功能示例

    在Web环境中,可以通过各种方法实现定时任务,如在Unix/Linux系统中可使用cron作业,在Windows系统中可以使用任务计划程序,而在Web应用中,则可以通过脚本语言如PHP中的sleep()函数或set_time_limit()函数等来实现...

    PHP版网站状态监控 v1.0

    这是通过编程定时任务(如Linux的cron job或Windows的任务计划程序)实现的,它会定期调用PHP脚本来检测目标网站的状态。这种自动化的方法极大地减轻了手动检查的负担,让用户可以专注于其他工作,同时确保了监控的...

    关于PHP文件的自动运行方法分析

    总结来说,本文涉及了PHP脚本的服务器端持续执行方案,以及通过批处理和计划任务定时执行PHP脚本的方法,并提供了处理脚本执行中断和恢复执行的思路。同时,为了让PHP程序员更全面地提升技术水平,文章还给出了多个...

    cmd下运行php脚本

    - 在Windows中可以使用任务计划程序(Task Scheduler)来定时执行PHP脚本。例如,设置每天凌晨1点执行脚本。 - 在Linux环境中,可以使用`crontab`来实现类似的功能。具体的命令格式如下: ``` * * * * * /usr/bin/...

    RunHiddenConsole.rar

    当使用RunHiddenConsole启动PHP,比如在执行定时任务或者CLI脚本时,可以避免控制台窗口的出现,提高用户体验。 在实际应用中,我们可以结合RunHiddenConsole和这些服务或工具,创建更高效、更隐蔽的后台工作流程。...

    php网络开发完全手册

    8.3 数组索引与键值的操作技巧 123 8.4 数组的排序 125 8.4.1 递增排序——sort 125 8.4.2 递减排序——rsort 125 8.4.3 数组排序——array_multisort 126 8.5 几种数组的应用实例 127 8.5.1 顺序查找 127 8.5.2 ...

    用PHP实现维护文件代码

    5. **自动化任务**:结合Linux的`cron`定时任务,可以定期执行PHP脚本,例如备份文件或执行其他维护任务。在示例中,通过`lynx`命令或直接调用PHP二进制文件来执行PHP脚本。 6. **代码重构**:提到了一系列关于PHP...

    PHP Beanstalkd消息队列的安装与使用方法实例详解

    2. 延迟执行:允许设置任务的延迟时间,实现定时任务功能。 3. 持久化:Beanstalkd能够定期将内存中的数据刷入binlog日志中,即使断电,重启后任务依然可以恢复执行。 4. 预留任务:将任务设置为预留状态,消费者...

    Yii2框架使用计划任务的方法

    需要在服务器上设置定时任务,让系统在指定的时间执行特定的Yii2控制台命令。 2. **依赖注入与事件监听**:Yii2允许开发者在控制台命令中使用依赖注入来获取应用组件,同时也可以监听命令执行的各个生命周期事件,...

    按键精灵教程

    - **操作系统:** 支持 Windows 98/98SE/Me/2000/XP/2003/Vista 等多个版本。 - **功能特性:** 支持游戏辅助、自动打怪、自动说话等功能。 - **应用场景:** 主要用于游戏辅助,帮助玩家实现自动化的游戏操作,节省...

    js使用小技巧

    Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...

    (LAMP)->1之linux安装与操作

    【描述】:“(LAMP) linux安装与操作”意味着我们将探讨如何在Linux系统上进行安装和执行日常管理任务,这对于建立一个Web服务器至关重要,因为LAMP是开源Web开发的常见平台。 【标签】:“(LAMP)”和“linux”标签...

    编程入门教程.doc

    - 7个完整游戏的源代码及可执行程序。 - C++和Windows编程入门指南。 #### 三、PLC编程入门 - **概念介绍**:PLC(Programmable Logic Controller),即可编程逻辑控制器,是一种用于工业自动化领域的电子设备。...

    Linux 50问面试常问问题

    答:cron是Linux的定时任务调度器,允许用户设定周期性的命令或脚本执行。在/etc/crontab或用户的crontab文件中添加任务条目即可设置定时任务。 35. 如何在Linux中进行性能调优?答:性能调优涉及内存、CPU、磁盘I/...

    网络架构实践报告

    - [PHP性能调优技巧](http://blog.csdn.net/liuhongwei_study/article/details/51243702) ### 知识点四:Discuz! 论坛系统特点 #### Discuz优势: 1. **微信集成**:支持微信登录,实现PC端与移动端数据互通。 2. ...

    YII2框架使用控制台命令的方法分析

    在YII2框架中,控制台命令是一个重要的组成部分,它可以方便地执行后台任务,比如定时运行脚本、数据处理等。这篇文章详细介绍了如何在YII2框架中使用控制台命令,并且通过实例展示了相关的步骤、原理和操作技巧。 ...

    script

    1. **脚本语言**: 脚本语言是解释执行的,如JavaScript、Python、Perl、Ruby、PHP等。它们不需要预先编译,而是由解释器逐行读取并执行代码,适合快速开发和原型验证。 2. **Python脚本**: Python是一种高级、通用...

    KingbaseES R3 开发手册.pdf

    - **ADO** - Microsoft ActiveX Data Objects,用于Windows平台上构建数据访问应用。 2. **应用开发工具** - 支持多种流行的集成开发环境(IDE),如**Visual Studio .NET**、**Eclipse**、**NetBeans**等。 - ...

Global site tag (gtag.js) - Google Analytics