首页
关于
归档
朋友
壁纸
留言
API平台
告白墙
更多
休闲游戏
留言板
练字贴
Layui手册
Search
1
【PHP】PHPoffice/PHPSpreadsheet读取和写入Excel
1,339 阅读
2
【Git】No tracked branch configured for branch master or the branch doesn't exist.
1,039 阅读
3
【Layui】控制页面元素展示隐藏
860 阅读
4
【composer】composer常用命令
787 阅读
5
【PHP】PHP实现JWT生成和验证
769 阅读
默认分类
PHP
ThinkPHP
Laravel
面向对象
设计模式
算法
基础
网络安全
Web
HTML
CSS
JavaScript
jQuery
Layui
VUE
uni-app
Database
MySQL
Redis
RabbitMQ
Nginx
Git
Linux
Soft Ware
Windows
网赚
Go
登录
Search
标签搜索
PHP
函数
方法
类
MySQL
ThinkPHP
OOP
JavaScript
Layui
Web
Linux
Array
设计模式
Git
PHPSpreadsheet
PHPoffice
排序算法
基础
面试题
Windows
小破孩
累计撰写
223
篇文章
累计收到
33
条评论
首页
栏目
默认分类
PHP
ThinkPHP
Laravel
面向对象
设计模式
算法
基础
网络安全
Web
HTML
CSS
JavaScript
jQuery
Layui
VUE
uni-app
Database
MySQL
Redis
RabbitMQ
Nginx
Git
Linux
Soft Ware
Windows
网赚
Go
页面
关于
归档
朋友
壁纸
留言
API平台
告白墙
休闲游戏
留言板
练字贴
Layui手册
搜索到
2
篇与
的结果
2022-07-14
【Linux】使用Linux的Crontab定时执行PHP脚本
首先说说cron,它是一个linux下的定时执行工具根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令来编辑该用户的 crontab。该文件使用的格式和 /etc/crontab 相同。当对 crontab 所做的改变被保存后,该 crontab 文件就会根据该用户名被保存,并写入文件 /var/spool/cron/username 中。cron 守护进程每分钟都检查 /etc/crontab 文件、etc/cron.d/ 目录、以及 /var/spool/cron 目录中的改变。如果发现了改变,它们就会被载入内存。这样,当某个 crontab 文件改变后就不必重新启动守护进程了。安装crontab:yum install crontabs说明:/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 查看crontab服务状态:service crond status 手动启动crontab服务:service crond start 查看crontab服务是否已设置为开机启动,执行命令:ntsysv加入开机自动启动: chkconfig –level 35 crond on 每一小时执行myscript.php如下:# crontab -e 00 * * * * /usr/local/bin/php /home/john/myscript.php如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。 下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。 00 * * * * lynx -dump http://www.jb51.net/myscript.php 下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。 */5 * * * * /usr/bin/curl -o temp.txt http://www.jb51.net/myscript.php下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.jb51.net/myscript.php 参数:-e 编辑该用户的计时器设置。-l 列出该用户的计时器设置。-r 删除该用户的计时器设置。-u<用户名称> 指定要设定计时器的用户名称。crontab 格式:基本格式 :分钟 小时 日 月 星期 命令第1列表示分钟1~59 每分钟用或者 /1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列 表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令记住几个特殊符号的含义: “*”代表取值范围内的数字, “/”代表”每”, “-”代表从某个数字到某个数字, “,”分开几个离散的数字 crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重启apache。 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每月1、10、22日的4 : 45重启apache。 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每周六、周日的1 : 10重启apache。 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每星期六的11 : 00 pm重启apache。 0 */1 * * * /usr/local/etc/rc.d/lighttpd restart 每一小时重启apache 0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11点到早上7点之间,每隔一小时重启apache 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4号与每周一到周三的11点重启apache 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
2022年07月14日
206 阅读
0 评论
0 点赞
2022-06-23
【PHP】PHP实现定时任务
1.安装扩展composer require hellogerard/jobby https://github.com/jobbyphp/jobby2.添加定时任务* * * * * cd /path/to/project && php jobby.php 1>> /dev/null 2>&13.部署文件cp vendor/hellogerard/jobby/resources/jobby.php ./<?php //https://github.com/jobbyphp/jobby github,地址 //http://www.xiabin.me/2016/06/16/php-note9/ 说明 require_once 'vendor/autoload.php'; $jobby = new \Jobby\Jobby(); //额外的配置 $data = [ // 'recipients' => '465497241@qq.com', // 'mailer' => 'stmp', // 'smtpHost' => 'smtp.mxhichina.com', // 'smtpPort' => '587', // 'smtpUsername' => 'system@cfo2o.com', // 'smtpPassword' => 'SSy123456', // 'smtpSender' => 'system@cfo2o.com', // 'smtpSenderName' => 'Crontab', // 'debug' => config('APP_DEBUG') ]; /** * @Author: 陈静 * @Date: 2018/05/14 22:40:19 * @Description: 自动分成,每两个小时执行一次 */ $jobby->add('Distribute', [ 'command' => 'cd /home/www/dev_tpshop && /usr/local/php7.1/bin/php think distribute', 'schedule' => '* */2 * * *', 'enabled' => true, 'output' => 'runtime/log/'.date('Ym').'/'.date('d').'_distribute.log' ]); /** * @Author: 陈静 * @Date: 2018/05/14 22:49:26 * @Description: 计算用户kpi,每周日0点10执行 */ $jobby->add('Calculate', [ 'command' => 'cd /home/www/dev_tpshop && /usr/local/php7.1/bin/php think calculate_kpi', 'schedule' => '10 0 * * 0', 'enabled' => true, 'output' => 'runtime/log/'.date('Ym').'/'.date('d').'_distribute.log' ]); $jobby->run();https://www.kancloud.cn/a465497241/test/628099
2022年06月23日
176 阅读
0 评论
0 点赞