Linux定时任务crontab

常用命令

crontab -e 进入定时脚本,编辑后保存即立即生效


crontab -l 查看用户定时脚本


tail -f /var/log/cron 查看执行日志


service crond status 查看定时器运行状态


service crond restart 重启定时器


定时任务不执行原因

定时任务设置的格式正确,手动执行也没问题,但是定时任务就是不执行,这种情况的出现,一般是由下面几个原因造成的。

  • crond服务未启动

    需要首先排查下crond服务是否启动,可使用systemctl status crond 命令查看,如果未启动,则启动即可。

  • 脚本无权限

    如果要执行脚本无权限,通过chmod命令加上权限即可。

  • 文件路径问题

    定时任务要执行的脚本中涉及文件路径时,一定要写全局路径,不能写相对路径。

  • 环境变量问题

    定时任务要执行的脚本要用到java或其他环境变量时,需要通过source命令引入环境变量。

    注意:执行启动java程序时必须在脚本中加入引入linux服务器本身的环境变量,因为crontab的环境变量跟linux环境变量不一样的,如果不引入读取环境变量,则会导致执行失败

xml 复制代码
#!/bin/sh

source /etc/profile
source ~/.bash_profile

执行示例:

xml 复制代码
*/1 * * * * cd /home/project/zjdx/gateway/ump-mtreceiver && /bin/sh ./mtreceiver.sh stop&& sleep 10 && /bin/sh ./mtreceiver.sh start
相关推荐
JZC_xiaozhong4 小时前
数据不互通、审批慢?企业多系统智能协同与流程自动化解决方案
运维·自动化·流程管理·流程自动化·数据集成与应用集成·流程监控·流程可视化设计
爱学习的小囧5 小时前
ESXi 8.0 原生支持 NVMe 固态硬盘吗?VMD 配置详解教程
linux·运维·服务器·esxi·esxi8.0
坚持就完事了5 小时前
Linux中的变量
linux·运维·服务器
hERS EOUS5 小时前
nginx 代理 redis
运维·redis·nginx
handler015 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
Cat_Rocky5 小时前
利用Packet Tracer网络实验
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志6 小时前
Linux 驱动实战:SR501 人体红外传感器驱动开发与调试全记录
linux·运维·驱动开发
正点原子6 小时前
【正点原子Linux连载】第三章 U-Boot使用 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
Qbw20046 小时前
【Linux】进程地址空间
linux·c++
忍冬行者6 小时前
MongoDB 三节点副本集离线部署运维手册
运维·数据库·mongodb