crontab定时执行PHP脚本
0 . crontab介绍
参数 | 描述 |
---|---|
-e | 执行文字编辑器来设定时程表 |
-r | 删除目前的时程表 |
-l | 列出目前的时程表 |
# 分 时 日 月 周 执行程序
0 7 * * * /bin/ls
1 . 创建foo.sh
2 . 添加执行权限chmod u+x foo.sh
3 . php脚本的使用
可以通过参数,去调用指定的php脚本
例:/foo.sh -p updateUserInfo
定时执行updateUserInfo的php脚本
#!/usr/sbin/php
<?php
var_dump($argv);
$argv
包含当运行于命令行下时传递给当前脚本的参数的数组(第一个参数总是当前脚本的文件名,因此 $argv[0] 就是脚本文件名)
# 输出结果
[dev ~]$ ./foo.sh -n 123456
array(3) {
[0]=>
string(8) "./foo.sh"
[1]=>
string(2) "-n"
[2]=>
string(6) "123456"
}
如果使用函数调用
php的超全局变量$GLOBALS["argv" ]
可以得到命令行传入的参数
#!/usr/sbin/php
<?php
function foo()
{
var_dump($GLOBALS['argv']);
}
4 . 创建定时任务
5 * * * * /data/www/foo.sh -p updateUserInfo >/dev/null 2>&1 &
5 . 编辑定时任务
# 打开crontab定时任务编辑器,将定时任务写入
crontab -e
6 . 重启定时任务
systemctl restart crond