- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章服务器定时执行计划任务,定时访问页面(windows/linux)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
经过我选的一种又简单一句话就解决了问题 。
explorer "http://www.zzvips.com?opt=make" 。
将上面的代码保存为dositemap.bat即可。然后添加到计划任务 。
1、windows计划任务 。
1、写一个PHP程序,命名为test.php,内容如下所示:
1
2
3
4
5
|
<?
$fp
=
fopen
(
"test.txt"
,
"a+"
);
fwrite(
$fp
,
date
(
"Y-m-d H:i:s"
) .
" 成功成功了!\n"
);
fclose(
$fp
);
?>
|
程序大胆地写,什么include\require尽管用,都没问题 。
2、新建Bat文件,命名为test.bat,内容如下所示:
D:\php\php.exe -q D:\website\test.php 。
自己写的bat文件,定时打开页面,并关闭ie浏览器 。
1
2
3
|
explorer.exe open=http://www.zzvips.com
Ping -n 80 127.1>nul
Taskkill /f /im "iexplore.exe"
|
3、建立WINDOWS计划任务: 开始–>控制面板–>任务计划–>添加任务计划 浏览文件夹选择上面的bat文件 设置时间和密码(登陆WINDOWS的) 保存即可了。 4、over! 可以右键计划任务点“运行”试试 。
2、Linux 的脚本实现 。
1、在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。 每一小时执行myscript.php如下:
1
2
|
**# crontab -e**
00 * * * * /usr/local/bin/php /home/john/myscript.php
|
/usr/local/bin/php为PHP程序的路径.
2、在Crontab中使用URL执行脚本 如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。 下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出.
1
|
00 * * * * lynx -dump http://www.centos.bz/myscript.php
|
下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件.
1
|
*/5 * * * * /usr/bin/curl -o temp.txt http://www.centos.bz/myscript.php
|
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件.
1
|
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.centos.bz/myscript.php
|
3、PHP实现定时执行计划任务 使用php让浏览器刷新需要解决几个问题 1.PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐) 2.如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行 3.如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行 PHP定时执行的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
ignore_user_abort();
//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(3000);
// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval
=5;
// 每隔5s运行
//方法1--死循环
do
{
echo
'测试'
.time().
'<br/>'
;
sleep(
$interval
);
// 等待5s
}
while
(true);
//方法2---sleep 定时执行
require_once
'./curlClass.php'
;
//引入文件
$curl
=
new
httpCurl();
//实例化
$stime
=
$curl
->getmicrotime();
for
(
$i
=0;
$i
<=10;
$i
++){
echo
'测试'
.time().
'<br/>'
;
sleep(
$interval
);
// 等待5s
}
ob_flush();
flush
();
$etime
=
$curl
->getmicrotime();
echo
'<hr>'
;
echo
round
((
$etime
-stime),4);
//程序执行时间
|
测试的时候发现这个效率并不是很高 总结: 建议关于定时执行任务的工作还是交给shell来做吧,比较那才是王道.
最后此篇关于服务器定时执行计划任务,定时访问页面(windows/linux)的文章就讲到这里了,如果你想了解更多关于服务器定时执行计划任务,定时访问页面(windows/linux)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我的程序有问题。 我有一个比较两个字符串的条件: (if (eq? (exp1) (exp2))) 当 exp1 给我一个字符串,exp2 给我一个字符串。可以肯定的是,当我更改“eq?”时到“=”,
我们有多种主要使用 GWT 开发的产品,目前由我们的最终客户使用。 想知道 GWT 的路线图。我得到了一些非官方的更新,谷歌正在将 GWT 中开发的产品转移到其他一些新技术。这是真的吗? GWT 的长
我希望每 15 分钟定期构建一次。我在网上看过,我正在使用这个时间表:*/15 * * * * Jenkins 告诉我使用 H/15 * * * * 来平均分配负载而不是 */15 * * * * 有
所以我正试图在 Scheme 中找出整个 call/cc 的东西。下面是我正在使用的代码: (+ 1 (call/cc (lambda (k) (if (number? k)
所以我正试图在 Scheme 中找出整个 call/cc 的东西。下面是我正在使用的代码: (+ 1 (call/cc (lambda (k) (if (number? k)
我们有一个 Azure WebJob,计划在 UTC 每天上午 8:00 运行(CRON - 0 00 08 * * *)。大多数时候它都会正确触发,但有时会触发两次(第二次运行)第一次运行后约 10
我是 Terraform 的新手。我正在尝试通过 azure 管道创建一个简单的存储帐户,但是当我运行我的管道时,我收到错误“太多命令行参数”。我很震惊,我不知道自己做错了什么。有人可以帮忙吗。 这是
我想在某些逻辑中间停止芭蕾舞 Actor 程序。如何使用代码停止 ballerina 中正在运行的程序?我正在寻找相当于 java 中的 System.exit(0) 的东西。 最佳答案 我相信您正在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我们有一个 Azure WebJob,计划在 UTC 每天上午 8:00 运行(CRON - 0 00 08 * * *)。大多数时候它都会正确触发,但有时会触发两次(第二次运行)第一次运行后约 10
我是 Terraform 的新手。我正在尝试通过 azure 管道创建一个简单的存储帐户,但是当我运行我的管道时,我收到错误“太多命令行参数”。我很震惊,我不知道自己做错了什么。有人可以帮忙吗。 这是
我正在浏览 htdp 并在一开始的某个地方发现了这个:- Explain why the following sentences are illegal definitions: 1. (define
我正在使用 Laravel 开发成员(member)门户。 成员(member)资格有不同的类别,例如1) 单人2) 成人3) 家庭以及不同价格的所有类型。 我有一个 plans 表和 plans_s
我使用 DreamHost 作为我的网站的服务器,并且我尝试每天、每周和每月执行某个 MySQL 查询来更改我的网站的数据库。我开始在本地主机上使用事件调度程序,然后我发现我无法在 DreamHost
这周我的 crontab 作业发生了一个问题。 设置如下,每两周正常运行一次,直到现在。 10 06 * * 1 test $(($(date +\%W)\%2)) -eq 0 && echo 'te
编写了一个简单的脚本,它将在日志文件中写入日期时间戳,并且每次运行该脚本时,它都会附加到该日志文件中。 #!/bin/sh echo $(date) >> log.txt 当我尝试每 1 分钟安排一次
我对 PIPE 的了解是它用于单向通信,它有助于在两个相关进程之间进行通信。我从一本书中得到了下面的 PIPE 编程代码示例。我正在尝试使用 printf 理解代码并在代码的每一行之后打印出所有点。但
代码如下: (define make-simple-sv-num (lambda (delare) (let ((tal (random-from-to 100000 1000000)))
我目前正在使用“How To Design Programs”——使用 Scheme/Racket;我在 Scheme 的 R5RS 版本中遇到了一个非常奇特的功能。 在进行简单的减法时,尽管使用的是
我想确定时间表的详细信息。例如: 我有一个事件的时间表:event.schedule "Every 3 months on the 10th day of the month" 由哈希表示: {
我是一名优秀的程序员,十分优秀!