首页
关于小站
朋友
壁纸
留言
时光之书
笔顺字帖
LayUI手册
Search
1
【PHP】PHPoffice/PHPSpreadsheet读取和写入Excel
1,785 阅读
2
【Layui】控制页面元素展示隐藏
1,602 阅读
3
【Git】No tracked branch configured for branch master or the branch doesn't exist.
1,561 阅读
4
【PHP】PHP实现JWT生成和验证
1,483 阅读
5
【composer】composer常用命令
1,357 阅读
默认分类
PHP
ThinkPHP
Laravel
面向对象
设计模式
算法
基础
网络安全
webman
Web
HTML
CSS
JavaScript
jQuery
Layui
VUE
uni-app
Database
MySQL
Redis
RabbitMQ
Nginx
Git
Linux
Soft Ware
Windows
网赚
Go
Docker
Elasticsearch
登录
Search
标签搜索
PHP
函数
方法
类
MySQL
ThinkPHP
JavaScript
OOP
Layui
Web
Server
Docker
PHPSpreadsheet
PHPoffice
Array
设计模式
Nginx
Git
排序算法
基础
小破孩
累计撰写
256
篇文章
累计收到
13
条评论
首页
栏目
默认分类
PHP
ThinkPHP
Laravel
面向对象
设计模式
算法
基础
网络安全
webman
Web
HTML
CSS
JavaScript
jQuery
Layui
VUE
uni-app
Database
MySQL
Redis
RabbitMQ
Nginx
Git
Linux
Soft Ware
Windows
网赚
Go
Docker
Elasticsearch
页面
关于小站
朋友
壁纸
留言
时光之书
笔顺字帖
LayUI手册
搜索到
2
篇与
的结果
2022-07-14
【Linux】 cron 定时任务工具详解
一、cron 概述cron 是 Linux 系统下的定时执行工具,用于按预设时间自动运行脚本或命令。用户权限:除根用户外,普通用户也可通过 crontab 工具配置个人 cron 任务。配置文件存放:所有用户定义的 crontab 任务保存在 /var/spool/cron 目录中,以用户名命名(如 /var/spool/cron/username),并以创建者身份执行。工作机制:cron 守护进程每分钟会检查 /etc/crontab 文件、/etc/cron.d/ 目录及 /var/spool/cron 目录的变化,若有更新会自动载入内存,无需重启守护进程。二、crontab 安装与服务管理1. 安装 crontabyum install crontabs # 适用于 CentOS/RHEL 系统2. 服务控制命令/sbin/service crond start # 启动服务 /sbin/service crond stop # 关闭服务 /sbin/service crond restart # 重启服务 /sbin/service crond reload # 重新载入配置(修改任务后无需重启服务,执行此命令生效)3. 服务状态查看service crond status # 查看 crontab 服务运行状态4. 开机自启动配置# 设置 crond 服务在运行级别 3 和 5 下开机自启 chkconfig --level 35 crond on # 验证开机自启设置(可选) ntsysv # 打开服务配置界面,检查 crond 是否被勾选三、crontab 基本使用1. 编辑用户定时任务crontab -e # 编辑当前用户的 cron 任务(首次使用会提示选择编辑器,如 vim、nano)编辑完成后保存,任务会自动写入 /var/spool/cron/用户名 文件。2. 常用参数说明-e:编辑当前用户的定时任务-l:列出当前用户的所有定时任务-r:删除当前用户的所有定时任务-u <用户名>:指定用户(仅 root 可用),如 crontab -u john -e 编辑 john 的任务3. 执行 PHP 脚本的两种方式(1)直接执行本地 PHP 脚本示例:每小时执行一次 /home/john/myscript.phpcrontab -e # 编辑任务,添加以下内容 00 * * * * /usr/local/bin/php /home/john/myscript.php # 分钟 小时 日 月 星期 命令(2)通过 URL 触发(需依赖浏览器或工具)使用 lynx 文本浏览器(每小时访问 URL 执行脚本):00 * * * * lynx -dump http://www.example.com/myscript.php # -dump 输出到标准输出使用 curl(每 5 分钟访问 URL,输出到临时文件):*/5 * * * * /usr/bin/curl -o temp.txt http://www.example.com/myscript.php # -o 指定输出文件使用 wget(每 10 分钟访问 URL,安静模式输出到临时文件):*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.example.com/myscript.php # -q 安静模式,-O 指定输出文件四、crontab 任务格式详解基本格式分钟 小时 日 月 星期 命令 * * * * * *字段含义分钟:1~59(* 表示每分钟,*/n 表示每 n 分钟)小时:1~23(0 表示 0 点)日:1~31月:1~12星期:0~6(0 表示星期天)命令:要执行的脚本或命令(需写绝对路径,如 /usr/local/bin/php)特殊符号含义*:匹配范围内的所有值(如小时字段为 * 表示每小时)/:表示“每”(如分钟字段 */10 表示每 10 分钟)-:表示范围(如小时字段 18-23 表示 18 点到 23 点),:表示离散值(如日字段 1,10,22 表示 1 日、10 日、22 日)五、crontab 任务示例# 每晚 21:30 重启 lighttpd 30 21 * * * /usr/local/etc/rc.d/lighttpd restart # 每月 1、10、22 日的 4:45 重启 lighttpd 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart # 每周六、周日的 1:10 重启 lighttpd 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart # 每天 18:00 至 23:00 之间,每隔 30 分钟重启 lighttpd 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart # 每星期六的 23:00 重启 lighttpd 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart # 每小时重启 lighttpd 0 */1 * * * /usr/local/etc/rc.d/lighttpd restart # 晚上 23 点到早上 7 点之间,每隔 1 小时重启 lighttpd 0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart # 每月 4 号,及每周一到周三的 11:00 重启 lighttpd 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart # 每年 1 月 1 日的 4:00 重启 lighttpd 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart通过以上内容,可掌握 cron 定时任务的安装、配置、格式及常见用法,灵活实现脚本的自动执行。
2022年07月14日
328 阅读
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日
296 阅读
0 评论
0 点赞