crond不执行原因分析【必须检查的几个地方,详见文章内容】

Spring的定时任务不生效、不触发,一些可能的原因,和具体的解决方法。 阅读详情

文章来源:http://blog.youkuaiyun.com/doc_sgl/article/details/41653641


自己写了个脚本,让crond来周期性执行脚本进行备份,但是在crontab -e里面加入了执行脚本之后,发现没有执行,后来分析了一下,crond不执行的原因主要有以下几个方面:

1、crond服务没启动

service crond start           //启动服务
service crond stop           //关闭服务
service crond restart       //重启服务
service crond reload       //重新载入配置

2、用户没有执行crond的权限

/etc/cron.deny文件用来控制哪些用户不能执行crond服务的功能。

可以将自己从文件中删去,或者联系root

3、crontab不提供所执行用户的环境变量

解决方法:在脚本中加入下面这一行:

. /etc/profile
4、没有使用绝对路径

这里的绝对路径包括脚本中的路径和crond命令中的路径两个方面。

5、如果上面都没有解决问题的话可以再找找问题:

1)去邮件看看,在这个过程中用户应该会收到邮件,比如收到这样的提示:

You have mail in /var/spool/mail/root

去看看里面就有crond的内容

2)在脚本里面加入output用来调试

可以在crontab的脚本里面添加个echo $PATH > /tmp/test.log

对比和终端下执行脚本的echo $PATH


自己实际遇到的问题:

机器环境:

root用户没有执行hadoop dfs -rmr /tmp 的权限

child用户有hadoop集群的全部权限

易错一:

在vi /etc/crontab中内容如下:【正解:有的机器中没有HOME=/,这样会导致找不到家目录】

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed


易错二:
由于自己写的shell中需要使用系统环境变量,所以脚本中必须添加 .  /etc/profile:

#!/bin/bash
. /etc/profile
......


易错三:虽然自己的脚本正确,可是邮件没有发出去,误以为定时任务执行失败!可以改成这样子进行测试定时任务服务crond是否可用!

crontab -e【添加定时任务;备注:crontab -u 用户名 -e只用root用户有此权限】

20 9 * * * echo $PATH > /tmp/test.log【每天的9点20分执行此任务】


最后,综合自己的机器环境,把定时任务写到了【非root用户】下面了,因为本机的root操作hadoop集群的权限有限!

即在非root用户下,crontab -e

=========================================================================================

验证下面的定时任务结果:
19 17 * * * /etc/test.sh 这样可以执行
18 17 * * * sh /etc/test.sh 错误
19 17 * * * root /etc/test.sh 错误








利用crond服务定时执行ETL任务 一、crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 linux下的任务调度分为两类,系统任务调度和用户任务调度。 1.1 系统任务调度 系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的 阅读详情

相关推荐

Unity Scriptable Build Pipeline (SBP) 详解

Unity 的可编程构建管线(Scriptable Build Pipeline, SBP)标志着引擎构建架构的一次关键转变,它从不透明的 C++ 实现转向了灵活、可扩展的 C# 框架。SBP 旨在满足现代游戏开发日益增长的需求,通过改进增量处理和高效缓存机制显著提升了构建性能。它赋予开发者对内容构建过程前所未有的控制力,从而能够针对特定项目需求进行深度定制。尽管 SBP 是 Unity 推荐的 Addressables 系统的重要基础层,但理解其核心组件、构建流程和高级功能对于优化大型项目、简化 CI/C

m0_57771536的博客 2209

cron任务未执行

问题描述: 配置的cron的任务未执行 原因:依赖的crond服务未正常运行 service crond status

tiger3rd的博客 1773

微信自动化必备软件:inspect(获取微信界面元素)

SaveButton10015.2:1 ✅(合格)Passed ✅说明这个控件完全符合无障碍标准。

Ven%的博客 1382

crontab定时任务不执行的原因

小问题

qq_57093716的博客 5301

Simulink机电仿真避坑指南:如何用MATLAB解决液压系统建模的3大典型问题

本文针对液压系统建模在Simulink动态仿真中常见的三大难题——参数物理意义缺失、模型收敛性差及性能优化瓶颈,提供了专业的MATLAB解决方案。文章详细阐述了如何从物理参数推导仿真模型、破解代数环与刚性系统问题,并分享了模型降阶与加速技巧,旨在帮助工程师构建精确高效的机电系统仿真模型。

o9p0q1的博客 295

Excel插件开发实战:从零封装一个带自定义Ribbon的.xlam工具包

本文详细介绍了如何从零开发一个带自定义Ribbon的Excel插件.xlam工具包。通过VBA和XML技术,读者将学习到插件架构设计、Ribbon界面定制、模块化开发以及企业级部署策略,帮助提升Excel自动化办公效率。

weixin_42531128的博客 517

Linux crond 不执行原因分析

为了定时监控Linux系统CPU、内存、负载的使用情况,写了Linux Shell脚本,当达到一定值得时候,定时发送邮件通知。但是,让crond来周期性执行脚本发送邮件通知时,遇到了问题,在crontab -e里面加入了执行脚本之后,发现脚本并没有执行。可是,通过手动执行Shell脚本命令(./mimvp-email.sh)是正常的,因为手动执行脚本可以默认获取Linux的环境变量,但通过Cron...

阳光岛主 9642

【Docker】掌握 Docker魔法:Windows 11 平台上的完美容器部署终极指南

【Docker】掌握 Docker魔法:Windows 11 平台上的完美容器部署终极指南 一文搞懂什么是 Docker?分析容器的工作原理、容器的架构、Docker的优势、使用 Docker的原因。 全程手把手教你Docker的安装与使用,配置阿里云镜像加速、容器常用命令!

寸铁的博客 10万+

crond不执行原因分析

自己写了个脚本,让crond来周期性执行脚本进行备份,但是在crontab -e里面加入了执行脚本之后,发现没有执行,后来分析了一下,crond不执行的原因主要有以下几个方面: 1、crond服务没启动 service crond start //启动服务 service crond stop //关闭服务 service crond re...

244

FPGA打砖块游戏设计(有上板照片)VHDL

这是一款经典打砖块游戏,我们的努力让它更精致更好玩,我们将它取名为打砖块游戏(Flyball),以下是该系统的一些基本功能: 画面简约而经典,色彩绚丽而活泼,动画流畅 玩家顺序挑战3个不同难度的级别,趣味十足 计分功能,卡通字母数字 4条生命值,由生命条显示 游戏结束画面,缓缓浮起与缤纷刷色的特效 四键操作,可复位,可暂停,高灵敏 96块砖拼出可爱的“囧”字,方便更改 碰挡板非镜面反射 初始启动,随机的发射速度。

QQ_778132974的博客 1662

华为OD机试真题 新系统2026-04-08 C语言 实现【直捣黄龙】

小王在玩一款叫做直捣黄龙的小游戏,在该游戏中他需要从入口位置进入敌营,绕过哨兵的层层封锁,达到敌军司令部实施斩首行动。 敌军阵营是一个n*n的矩阵,入口在坐标(0,n/2),敌军司令部在坐标(n-1,n/2),每个哨兵警戒以自己为中心的9宫格,一旦被哨兵发现则行动失败。

MISAYAONE的博客 183

crond简介

1.5.1 crond简介 1.什么是crond? crond 是linux用来定期执行程序的命令。 当安装完成操作系统之后,默认便会启动此任务调度命令。 crond命令每分锺会定期检查是否有要执行的工作,自动执行任务 2.crond作用 **系统执行:**系统周期性所要执行的工作,如备份系统数据、清理缓存 **个人执行:**某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否...

weixin_44980838的博客 2931

13、核心网络模块:VyOS 设备配置实战

本文详细介绍了如何使用 Ansible 核心网络模块对 VyOS 虚拟设备进行自动化配置,涵盖环境搭建、变量设置、任务编写、playbook 运行及配置验证全过程。通过实际案例展示了 Ansible 在网络设备管理中的强大功能,包括多设备支持、模板化配置、备份回滚等优势,并提供了最佳实践建议与未来发展趋势分析,帮助读者提升网络运维效率。

linux6sysadmin的博客 114

Linux crond 定时执行脚本

一般来说crontab -e进入的都是nano编辑模式,保存是Ctrl+O,然后按回车,退出是Ctrl+X。这样子就能看到crond定时执行hello.sh脚本打印输出,如果不想heloo.txt内容过多,可以自己再添加一个清除文本内容的脚本放到crond定时里面,防止磁盘内存爆开。从左到右总共有五个*号,分别代表分钟,小时,几号,月份,星期几。开启crond服务,开启了crond服务后再次查看crond服务的开启状态。来查看有没有安装crond.下图是安装好crond的。.下图是没启动crond服务的。

qq_56788267的博客 1141

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

crond和crontab分别是什么

crond:crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护进程。 crontab:crontab命令常见于Unix和类Unix的操作

peter——wang的博客 3877

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Crond服务

摘要:crond是Linux系统的定时任务守护进程,分为系统任务调度(/etc/crontab)和用户任务调度(/var/spool/cron/)。通过crontab命令管理任务,格式为"分 时 日 月 周 命令",支持特殊符号(*,-/)设置时间。系统级任务需指定用户,用户级任务仅限当前用户管理。使用时需注意命令路径、输出重定向和权限问题,执行日志可通过/var/log/cron查看。服务管理命令包括systemctl start/stop/enable crond等。

SongJX_的博客 1028

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【玩转Linux操作】crond的基本操作

crond的基本操作

小吉妙妙屋 2969

Linux crontab 不执行的原因和如何检查错误大全

Linux crontab 不执行的原因和如何检查错误大全 Here's a checklist guide to debug not running cronjobs: Is the Cron daemon running? Run ps ax | grep cron and look for cron. Debian: service cro

小姜哥的技术博客 2314

定时任务crond,执行脚本模板

有的时候需要开机后就启动,但是在开机的时候又因为某些原因启动不起来的情况下,可以在开机后,让定时任务来执行启动任务。 设置定时任务 执行命令crontab -e,写入一下定时任务配置信息(有人说末尾要换行,这里没有测试)。 */1 * * * * /path/to/start.sh 然后使crond服务reload,查看reload状态 systemctl reload crond syste...

csrh131的博客 837

php 计划任务 不执行,CentOS 系统下 Laravel 计划任务 PHP artisan schedule:run 不执行,应该如何处理?...

服务器是centos系统,现在遇到一个很奇怪的问题,计划任务不能执行,本来设的是定时检查用户表,给当天过生日的用户发生日祝福短信,日志记录计划任务执行了,但没有短信发送,laravel日志中也没有记录,我对计划任务做了检查,目前情况如下:检查计划任务列表 crontab -l :[root@iZm5e5ber5wsbm9pmb1cmiZ ~]# crontab -l...8 8 * * * php...

weixin_30052271的博客 2147

计划任务crond和supervisor

提前某个时间点做成某件事情,定时定点去完成某个任务(相当于闹铃)脚本:帮助我们去执行某些事情的工具计划任务:帮助我们去执行脚本,不需要人去执行,提高了工作效率,解放了人力(自动化水平)Supervisor是一个用Python编写的进程控制系统,允许用户监控和控制类UNIX操作系统(linux)上的多个进程。

m0_74929995的博客 2027
上一篇: 实战-----使用crond 在linux中定时执行任务
下一篇: linux mail命令用法浅析【用最简单的测试一下就可以了如 "mail 真实的邮箱账号"具体操作见下一篇文章】
buster2014
博客等级 码龄12年 162粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值