新建php脚本ctTest.php,代码如下:

<?php
/***************************************************************************
*
* Copyright (c) 2018 Baidu.com, Inc. All Rights Reserved
*
**************************************************************************/ /**
* @file ctTest.php
* @author sunlihua(com@baidu.com)
* @date 2018/11/07 11:15:27
* @brief
*
**/ $file = fopen("abc.txt", "a+");
$txt = "test\n";
fwrite($file, $txt);
fclose($file); /* vim: set expandtab ts=4 sw=4 sts=4 tw=100: */
?>

cron中添加如下定时任务:(crontab -e)

* * * * * /home/users/***/odphb/php/bin/php /home/users/***/odphb/test/ctTest.php

但是,在/***/odphb/test/目录下始终没有看到abc.txt文件

1)怀疑是定时脚本没有执行。

通过sudo tailf /var/log/cron 查看运行日志,有脚本运行日志,如下:

Nov  7 12:06:01 *** crond[41958]: (***) CMD (/home/users/sunlihua/odphb/php/bin/php /home/users/***/odphb/test/ctTest.php)

排除脚本未执行的可能

2)怀疑是权限不对造成的,通过sudo crontab -e 添加root角色的定时任务,查看日志,如下:

Nov  7 12:06:01 *** crond[41957]: (root) CMD (/home/users/***/odphb/php/bin/php /home/users/***/odphb/test/ctTest.php)

3)在网上看到需要在脚本前加./etc/profile; 查看日志如下:

Nov  7 12:06:01 *** crond[41957]: (root) CMD (./etc/profile;/home/users/***/odphb/php/bin/php /home/users/***/odphb/test/ctTest.php)

上面问题都排查了,在/***/odphb/test/目录下还是没有看到abc.txt文件

最终原因:cron里面命令用的是绝对路径,脚本里面打开的文件用的也是绝对路径,故文件分别被写到了***和root的根目录下。修改脚本里面abc.txt文件的路径,即修复问题。

crontab任务不生效的更多相关文章

  1. crontab执行不生效-【问题篇】

    背景:shell脚本每隔两分钟从数据库取数据库放到脚本所在目录,做好计划任务发现不生效. 解决:脚本中文件路径问题 测试:在/data/test目录下写的脚本,直接在本目录touch以分钟结尾的文件. ...

  2. Kerberos kinit crontab定时任务不生效的问题解决

    问题 有这样一个定时任务 1 */12 * * * kinit -kt xxxxxx.keytab principle 这样写每天 12点,执行一次. 但是服务器的应用程序报错: GSS initia ...

  3. crontab定时任务不执行的原因

    1.重启crontab若是遇见"You (cloudlogin) are not allowed to use this program (crontab)                 ...

  4. Linux Crontab命令定时任务基本语法

    一.Crontab查看编辑重启 1.查看crontab定时执行任务列表 crontab -l 2.编辑crontab定时执行任务 crontab -e 3.删除crontab定时任务 crontab  ...

  5. linux复习

    linux的特点           - 免费的/开源           - 支持多线程/多用户           - 安全性好           - 对内存和文件管理优越       关机命令 ...

  6. linux 笔试题

    一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来 ...

  7. linux笔试

    在对linux基本知识的归纳总结之后,这里是一份linux的测试题.希望能帮助大家复习和熟悉linux知识. 一.选择题 1.cron 后台常驻程序 (daemon) 用于:  A. 负责文件在网络中 ...

  8. linux测试题

    http://www.2cto.com/os/201307/225399.html  2013最新linux运维面试题 在对linux基本知识的归纳总结之后,这里是一份linux的测试题.希望能帮助大 ...

  9. linux运维面试题

    一.有文件file1 1.查询file1 里面空行的所在行号 grep -n "^#" file1 or awk ‗{if($0~/^$/)print NR}‘ file or g ...

随机推荐

  1. Linux中定时删除超过指定大小的文件夹

    背景: 开发环境总是动不动就没有空间了, 大部分都是debug日志.所以有必要在日志很疯狂的时候,删除不必要的日志. 思路:一. 书写删除日志文件脚本: 定时任务执行.  但是有时候的日志是需要保存用 ...

  2. redis 基本数据类型-列表(List)

    今天不瘦给大家分享一下redis第二个基本数据类型:列表.如果大家了解基本数据结构,相信大家对列表不会陌生,比如在C语言中我们可以使用数组实现一个列表,也可以使用链表实现一个列表(列表链表傻傻分不清楚 ...

  3. [外观] Firemonkey Windows Hint 气球样式

    Firemonkey 在 Windows 平台下的 Hint 默认为距形,有些单调,现在只要加入一行代码,就可以有气球箭头样式的 Hint. 修改代码: 请将 FMX.Controls.Win.pas ...

  4. Linux的信号解释

    转自:http://blog.csdn.net/yusiguyuan/article/details/43272225 整理后: 信号signal unix系统中,用信号实现软件中断 子进程结束-&g ...

  5. Ubuntu18.04编译S3的Linux SDK(Zeta)

    按照S3官方Wiki(http://www.sochip.com.cn/s3)的陈述,推荐使用Ubuntu16.04作为Host端系统,笔者是一名乐于并热衷于尝鲜的搬砖工,于是,尝试在最新的18.04 ...

  6. Matlab中的“prod”函数

    B = prod(A)将A矩阵不同维的元素的乘积返回到矩阵B. 如果A是向量,prod(A)返回A向量的乘积.如果A是矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B.如果A ...

  7. 【转】Nginx 反向代理 负载均衡 虚拟主机配置

    原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...

  8. RabbitMQ(四):RPC的实现

    原文:RabbitMQ(四):RPC的实现 一.RPC RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. ...

  9. ZJOI2018 round^2 游记

    Day0 一早起来6点左右,吃完早饭去班里拿了书包就来机房,说实话怕被打[手动滑稽]. 在车上大约经历了3个半小时的车程,终于到达了目的地:余姚.当然基本上大家的设备电量都不多了,除了某些上车睡觉的大 ...

  10. Oracle保存带&的数据

    在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值.这就意味着你无法将一个含有该符号的字符串输入数据库或赋给 ...