PHP写linux的shell脚本,以及crontab运行方法

首先php可以写linux的shell脚本,是非常快捷方便的,也展现了php的强大。

(1)讲解头部的一些开头文件代表什么意思。

eg

#!/usr/bin/env php

#!/usr/bin/php

哎,看了网上的一些说法,说只要平常写#!/usr/bin/env php就可以了,我也尝试了好多次,不成功,不得其原因,于是自己去琢磨了一下。

大概的意思是指的php的编译路径,但是也不要说#!/usr/bin/env php就可以了,毕竟大家安装的php路径是不一样的,容易把人带到沟里面,也别说什么有通用的写法。

简单,想要知道自己php的编译路径只需要执行一下linux命令:whereis php即可。


OK,下面就开始写一个简单的shell脚本:my_php_shell.sh

#!/usr/local/bin/php
<?php


date_default_timezone_set('Asia/shanghai');

try{

     echo "ok--".date('Y-m-d H:i:s')."\n";


}catch(Exception $e){

    echo "ok--".$e->getMessage()."\n";
}
?>
直接输出一个日期字符串。

下面接着配置crontab,其中有一些要注意的地方。

(1)执行crontab -e如果是第一次的话,会让你选择编辑crontab的方式


我比较习惯vim,我选择了 3。

有的人会说我选错了怎么办,能重新选择吗,可以的执行select-editor命令就能重新设置编辑器了。


选择完毕之后执行:crontab -e就可以编辑crontab了。

*/1 * * * * /usr/local/nginx/html/my_php_shell.sh >> /usr/local/nginx/html/shell_log.txt

这是我的一个crontab,:wq保存退出,然后sudo service cron restart重启。定时任务就开始执行了。

执行结果,每分钟执行一次脚本:


可能遇到的问题,crontab没有正常运行,如何查看日志,OK这个是必须的。

首先要打开crontab的日志:

sudo vim /etc/rsyslog.d/50-default.conf 

cron.* /var/log/cron.log #将cron前面的注释符去掉 

sudo service rsyslog restart //重启日志服务

tail -f /var/log/cron.log //查看日志

这样就开启了crontab的日志,如果出现crontab运行不正常的状态,就可以去查看日志信息了。

日志内容:


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值