1.先用/var/log/cron 命令观察是否有这条定时任务的执行记录
2.如果有的话可以记录定时任务的执行结果
* * * * * /data/test.php >> /data/log.log 2>&1 该路径为服务器绝对路径
如果有定时任务有报错的话可以查看报错信息修改代码
这里的报错信息是Exception: Zend Extension /data/test.php does not exist
定时任务代码为
#!/usr/local/php/bin/php -q <?php $filename = 'file.txt'; if (is_writable($filename)) { echo file_put_contents($filename, "This is another something.", FILE_APPEND); } else { echo "文件 $filename 不可写"; }第一行为服务器PHP可执行文件路径 如果不请吃可以用which php去查看
4.这么写感觉是没问题的但是还是有上边的那个报错信息,并且文件也不执行,从网上查了一天然后边试边改才知道原来是文件在服务器编码的问题 ,我是window环境上传文件到linux 所以文件编码需要修改 , 可以看下文件编码 vi文件打开,:set ff
可以看到文件编码为Fileformat=dos,因此要修改为nuix , 用set fileformat=nuix命令,回车,这时出现一个奇怪问题,有个报错
起初以为不能修改,网上查了一圈也没查到啥,后来就退出保存了,然后发现定时任务运行结果没问题了。真是不知道个中缘由啊 ,耗费我一天时间。如果有哪位大神看到这篇文章,还请能够指点迷津,本人小白一枚。
5.还有一种简便的方法也是从网上看到的 可以用crontab 的wget方法 直接访问链接的形式实现。比上边的方法简单粗暴,
代码:
* * * * * wget -t 1 -T 0 -q --spider "https://www.baidu.com" >> /data/crontablog.log 2>&1
-t 参数是请求失败后重试次数 -T 连接时间(0不会超时) -q安静模式 (不输出讯息) --spider: 不下载任何资料
这种链接访问的话还是需要加上一定的验证步骤的 这需要结合业务了 具体问题具体定吧
以上 春手打