crontab定时任务

1安装crontab:

yum install crontabs

 

 说明:

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start

  查看crontab服务是否已设置为开机启动

chkconfig crond on

2使用创建新任务

1、编辑命令

创建两个文件

这里是php改变txt的内容

强调:  所有路径都必须给绝对路径!!!  不管是执行文件本身路径,还是文件里面填写的其他路径!!!

手动执行正常可以改变

但是!!!!!!!!!!!!!!!

自动任务执行,txt始终不变!!!!

原因在于,自动执行任务没有加载环境变量配置,不知道这个txt位置,所以txt文件必须给绝对路径!!!!!!

test.php

<?php
    $fp = fopen("/var/www/html/WexinToken/test/test.txt","w");
    fwrite($fp, date('Y-m-d H:i:s')."****"."
");
    fclose($fp);
?> 

给与test.txt操作权限

sudo chmod -R 777 test.txt

  

创建一个新任务,每一分钟调用一次test.php,修改test.txt

 crontab -e

  

 按 i  进入插入模式

 输入一个新命令

(每一分钟执行这个php命令)

*/1 * * * * /usr/bin/php /var/www/html/WexinToken/test/test.php

退出保存

1按 Esc

2按:

3按wq  

4回车

 

查看正在运行的定时任务

 crontab -l

 

重新载入配置文件或者重启服务以开始执行

service crond restart

  

如果想要删除配置,执行

 crontab -r

  

no crontab for root 解决方案

主要原因是由于这个liunx服务器 第一次使用 crontab ,还没有生成对应的文件导致的,执行了 编辑(crontab -e)后 就生成了这个文件

[root@localhost ~]# crontab -l
no crontab for root

这个问题非常简单,同样在 root 用户下输入 crontab -e

1 按 Esc

2按:

3按wq  

4回车

在输入 crontab -l 就没有问题了

原文地址:https://www.cnblogs.com/kekeoutlook/p/10479516.html